2016-05-03 8 views
0

Hallo Ich habe versucht, online zu suchen, aber wirklich konnte es nicht finden. Also was ist der Unterschied zwischen $_FILES['file']['name'] und $_FILES['file']['tmp_name'], oder was genau ist die $_FILES['file']['tmp_name']?Was ist der Unterschied zwischen Name und tmp_name

Nach http://php.net/manual/en/features.file-upload.post-method.php,

$ _FILES [ 'userfile'] [ 'name'] Der ursprüngliche Name der Datei auf dem Client-Rechner .

$ _FILES ['userfile'] ['tmp_name'] Der temporäre Dateiname der Datei in , in dem die hochgeladene Datei auf dem Server gespeichert wurde.

Was ist der Unterschied zwischen dem temporären Dateinamen und dem ursprünglichen Dateinamen?

Danke

+0

Die temporäre Datei wird bei erfolgreichem Upload automatisch gelöscht. Originalname. naja ... behält den Namen der hochgeladenen Datei. Es ist alles im Handbuch http://php.net/manual/en/features.file-upload.post-method.php. * "Die Datei wird am Ende der Anfrage aus dem temporären Verzeichnis gelöscht, wenn sie nicht entfernt oder umbenannt wurde."* –

+0

^Möchte hinzufügen, dass der tmp_name ist, wo die Datei gespeichert ist, bevor Sie move_uploaded_file() verwenden – Devon

+0

@Devon Ich muss nicht das" gesamte "Handbuch zitieren ;-) Es passt hier nicht * lol * –

Antwort

1

Ihre Datei Zwischenspeicher auf diesem Weg $ _FILES [ 'image_path'] [ 'tmp_name']. Wenn Sie es verschieben, wird es aus dem temporären Ordner in Ihren Ordner verschoben. Wenn Sie den Befehl copy anstelle von move_uploaded_file verwenden, bleibt Ihre temporäre Datei im temporären Ordner Ihres Servers. Sie können den Dateinamen dort suchen.

+1

Nichts, was nicht schon gesagt oder in das Handbuch aufgenommen wurde Sagen Sie uns, was wir nicht wissen –

+0

meine Schuld, ich dachte tmpname ist der Name oder vorläufiger Name ... Danke für die Antwort. –

1
$_FILES['file']['tmp_name'] 

Stellt den Namen der Datei auf dem Web-Server-Festplatte in das System Verzeichnis für temporäre Dateien gespeichert, es sei denn, ein anderes Verzeichnis der upload_tmp_dir Einstellung in Ihrer php.ini Datei angegeben wurde verwendet. Diese Datei wird nur so lange aufbewahrt, wie das PHP-Skript ausgeführt wird, das für die Bearbeitung des Formulars zuständig ist. Wenn Sie die hochgeladene Datei später verwenden möchten (beispielsweise um sie auf der Website anzuzeigen), müssen Sie sie an anderer Stelle kopieren.

Um dies zu tun Sie die move_uploaded_file() Funktion, die eine hochgeladene Datei aus seiner Zeit in Dauer Position bewegt verwenden können. Bitte beachten Sie, dass Sie beste move_uploaded_file() über Funktionen wie copy() und rename() für diesen Zweck verwenden würden, weil sie zusätzliche Prüfungen durchführt, um die Datei zu gewährleisten, in der Tat durch die HTTP-POST-Anfrage hochgeladen wurde .

$_FILES['file']['name'] 

Stellt den Namen der Datei auf dem Computer-Client, bevor es submitted.If Sie eine permanente Kopie der temporären Datei zu machen, möchten Sie vielleicht es seinen ursprünglichen Namen anstelle des automatisch generierten geben temporärer Dateiname, der oben beschrieben wird.

Also alles in allem:

$_FILES["file"]["name"] //stores the original filename from the client 
$_FILES["file"]["tmp_name"] //stores the name of the temporary file 

Hoffe, es hilft!

Verwandte Themen