2011-01-14 8 views
1

Ich analysiere Text/CSV-Dateien und ergreife E-Mail-Adressen von hochgeladenen Dateien. Beim Analysieren einer Google Contact-Datei, die ich exportiert habe, schlägt sie merkwürdig fehl. Aber wenn ich einfach die Zeichenfolge, die echo ist, kopiere und das anstelle des file_get_contents-Ergebnisses einfüge, wird es analysiert und funktioniert.preg_match_all verwirrend fehlgeschlagen

Jede Idee, warum es sich weigert, die file_get_contents Zeichenfolge zu nehmen, aber wenn ich die Rohdaten selbst einfügen, funktioniert es?

+0

denken bewegen sollte ich es das 'file_get_contents' und das Hochladen Problem ist, sollten Sie die' Preg-match-all entfernen 'tag? EDIT: versuchen Sie mit 'move_uploaded_file' dann lesen Sie es? –

+1

Nur eine Anmerkung; Da Sie den Modifizierer ohne Berücksichtigung der Groß- und Kleinschreibung verwenden, glaube ich, dass er redundant ist und beide Fälle von alphanumerischen Zeichenbereichen in Ihren Zeichenklassen enthält. 'a-z' sollte ausreichen. – Dan

Antwort

0

$_FILES['file']['tmp_name'] ist eine temporäre hochgeladene Datei, Sie in ein Verzeichnis zuerst vor dem Aufruf file_get_contents, wie

$tmp_file = '/tmp/test.csv' 
move_uploaded_file($_FILES['file']['tmp_name'], $tmp_file); 
$string = file_get_contents($tmp_file); 
+0

Das löst das Problem leider nicht. – James

+0

was wurde nicht gelöst? Hast du versucht, 'var_dump ($ string);' und 'var_dump ($ _ FILES);'? – ajreal

+0

Es können Fehler auftreten. Schalten Sie die Fehleranzeige ein (in 'php.ini'), wenn Sie eine Entwicklungsumgebung verwenden, oder schreiben Sie Fehler in eine Protokolldatei (ändern Sie erneut' php.ini') und sehen Sie. –