Angenommen, ich möchte XML-Dateien nur mit bis zu 10 MB von einem Remote-Server geladen werden.Verhindern Laden von Remote-Quelle, wenn Datei größer als eine gegebene Größe ist
So etwas wie
$xml_file = "http://example.com/largeXML.xml";// size= 500MB
//PRACTICAL EXAMPLE: $xml_file = "http://www.cs.washington.edu/research/xmldatasets/data/pir/psd7003.xml";// size= 683MB
/*GOAL: Do anything that can be done to hinder this large file from being loaded by the DOMDocument without having to load the File n check*/
$dom = new DOMDocument();
$dom->load($xml_file /*LOAD only IF the file_size is <= 10MB....else...echo 'File is too large'*/);
Wie kann das möglicherweise? Erreicht werden .... Jede Idee oder Alternative? oder der beste Ansatz, um dies zu erreichen, würde sehr geschätzt werden.
checkte ich PHP: Remote file size without downloading file aber wenn ich mit etwas versuchen, wie
var_dump(
curl_get_file_size(
"http://www.dailymotion.com/rss/user/dialhainaut/"
)
);
ich string 'unknown' (length=7)
Wenn ich mit get_headers
versuchen, wie unten vorgeschlagen, der Content-Length im Header fehlt, so dass dieser Wille funktioniert auch nicht zuverlässig.
Bitte raten Sie freundlich, wie die length
zu bestimmen und vermeiden, dass es zu dem DOMDocument
senden, wenn es 10MB
überschreitet
Haben Sie sich die Funktion [filesize()] (http://php.net/manual/en/function.filesize.php) angesehen? –
@MawiaHL Können Sie versuchen: 'var_dump (filesize (" http://www.cs.washington.edu/research/xmldatasets/data/pir/psd7003.xml "))' – ErickBest
Seite nicht gefunden ist das Ergebnis. –