Dieser Artikel vermittelt Ihnen hauptsächlich eine ausführliche Analyse von PHP-Upload-Dateien. Ich hoffe, dass dieser Artikel allen helfen kann.
1.phpDateikonfiguration hochladenphp.iniKonfiguration:
(1) file_uploads=on|off : PHP auf dem Server ermitteln Ob das Skript Datei-Uploads akzeptieren kann.
(2)max_execution_time=integer : PHP Die maximale Zeit in Sekunden, die ein Skript ausführen kann, bevor ein schwerwiegender Fehler registriert wird
.(
3) memory_limit=integer : Einstellungen Der maximale Speicher, dem das Skript zugewiesen werden kann, in MB. Dies verhindert, dass außer Kontrolle geratene Skripte den Serverspeicher monopolisieren.
(4
)upload_max_filesize=integer : Legen Sie die maximale Upload-Dateigröße fest auf MB ist die Einheit. Diese Direktive muss kleiner sein als kleiner als post_max_size
.(5
)upload_tmp_dir=string : Einstellungen Hochgeladene Dateien müssen vor der Verarbeitung an einem temporären Ort auf dem Server gespeichert werden, bis die Datei an ihr endgültiges Ziel verschoben wird.
(6
)post_max_size=integer : OK zum Bestehen Die maximale Größe der Informationen, die die POST-Methode akzeptieren kann, in MB als Einheit
2.phpVerwandte Methoden hochladen
(1)bool is_uploaded_file(string $filename)
Definition: is_uploaded_file() Die Funktion ermittelt, ob die angegebene Datei über HTTP POST
Parameter $filename : $_FILES['file_img']['tmp_name'] (Beispiel)
Gibt die zu prüfenden Dateien an: C:WindowsTempphp9632.tmp
( 2)bool move_uploaded_file ( string $filename , string $destination )
Definition: move_uploaded_file () Die Funktion verschiebt die hochgeladene Datei an einen neuen Speicherort Wird im Allgemeinen in Verbindung mit is_uploaded+_file()Methode
Parameter$filename: $_FILES['file_img']['tmp_name'] (Beispiel)
Gibt die zu verschiebende Datei an : C:WindowsTempphp9632.tmp . $de Station : dirname(__FILE__).DS.'uploads'.DS.$_FILES['file_img']['name']
(Beispiel) Gibt den Speicherort der Datei an, die verschoben werden soll: D:myWAPmyWeblearnphp_uploaduploadshm_g_img.jpg
3.phpUpload-Fall: Es ist festgelegt, dass nur Bilddateien hochgeladen werden können
(
1)
(2)file_unload_select.php Datei für Datei HTMLAuswahl durchsuchen, hochladen klicken: enctype = "multipart/form-data" Feste Schreibmethode , sonst schlägt der Datei-Upload fehl action = "url" method="post" Allgemeiner Upload ist Beitrag (3)upload.php Datei wird zum Verarbeiten hochgeladener Dateien verwendet Bestimmen Sie den Typ der hochgeladenen Datei und Verschieben Sie Dateien in die angegebenes Verzeichnis auf dem Server: (4)show_image.php Wird zum Empfangen von Bilddateipfaden zum Anzeigen erfolgreich hochgeladener Bilder verwendet: (5) Laden Sie den Kern hoch. Verwenden Sie einfach die Unterparameter von $_FILES, um den Upload und die Beurteilung abzuschließen : Analyse: $_FILES['file_img']['name'] : news_001_01.jpg Dateiname hochladen $_FILES ['file_img']['type']: Bild/JPEG Typ der hochgeladenen Datei $_FILES['file_img'][ ' tmp_name '] : C :WindowsTempphp504D.tmp Der Speicherpfad der temporären Datei der hochgeladenen Datei $_FILES['file_img']['error ' ]: 0, 1, 2, 3, 4 Die Größe der Datei überschreitet den vereinbarten Wert (angegeben durch PHP.ini) 2 -> bedeutet das Hochladen einer Datei. Die Größe überschreitet den vereinbarten Wert (HTML Formularspezifikation) 3 -> zeigt an, dass die Datei nur teilweise hochgeladen wird 4 -> Verwandt Empfehlungen: PHP-Upload-Dateicode implementiert ein Beispiel für den nativen JS-Upload-Fortschritt für die Anzeige großer Dateien bar //接收上传文件
print_r($_FILES);
define('DS',DIRECTORY_SEPARATOR);
//判断当前上传的文件是否为图片
$img_type_arr = array('image/png','image/jpeg','image/jpeg');
//for循环遍历数组 -- 第一方法判断是否为数组中的子项
for($i=0;$i<count($img_type_arr);$i++)
{
if($img_type_arr[$i] != $_FILES['file_img']['type'] && ($i == count($img_type_arr)-1) )
{
echo ""
exit;
}
}
//数组方法array_in() -- 第二方法判断是否为数组中的子项
if(!is_uploaded_file($_FILES['file_img']['tmp_name']))
{
//如果临时文件不存在,则说明没有上传到临时文件夹
echo '上传到临时文件夹失败';
}
else
{
//echo '上传到临时文件夹成功';
$img_path = dirname(__FILE__).DS.'uploads'.DS.$_FILES['file_img']['name'];
//echo $img_path;
//进行移动文件到服务器地址
if(@move_uploaded_file($_FILES['file_img']['tmp_name'],$img_path))
{
//显示图片
echo "<img src=".$img_path." />"
}
else
{
cho '移动文件失败';
}
}
$img_path = $_GET['url'];
echo "";
Array ( [file_img] => Array ( [name] => news_001_01.jpg [type] => image/jpeg
[tmp_name] => C:\Windows\Temp\php504D.tmp [error] => 0 [size] => 158360 ) )
Das obige ist der detaillierte Inhalt vonEingehende Analyse von PHP-Upload-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!