Il miglior tutorial PHP File Upload Nel 2024, in questo tutorial puoi imparare Creare un modulo di upload di file,Creare script di upload,Carica limite,Salvare il file da caricare,
Con PHP, è possibile caricare i file sul server.
Gli esempi di questa sezione in progetto di prova è completa, la struttura di directory:
test |-----upload # 文件上传的目录 |-----form # 表单文件 |-----upload_file.php # php 上传代码
Consente agli utenti di caricare i file da un modulo è utile.
Si consideri il seguente form HTML per il caricamento dei file:
<html> <head> <meta charset="utf-8"> <title>本教程(w3write.com)</title> </head> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">文件名:</label> <input type="file" name="file" id="file"><br> <input type="submit" name="submit" value="提交"> </form> </body> </html>
Salvare il codice qui sopra per form file.
Alcuni elementi legati al modulo HTML sopra sono elencati di seguito:
Nota: Consentire agli utenti di caricare file è un enorme rischio per la sicurezza.Si prega consente solo agli utenti di fiducia per eseguire il caricamento di file.
"Upload_file.php" file contiene il codice per il caricamento dei file:
<?php if ($_FILES["file"]["error"] > 0) { echo "错误:" . $_FILES["file"]["error"] . "<br>"; } else { echo "上传文件名: " . $_FILES["file"]["name"] . "<br>"; echo "文件类型: " . $_FILES["file"]["type"] . "<br>"; echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"]; } ?>
Utilizzando PHP array globale $ _FILES, è possibile caricare i file su un server remoto dal computer client.
Il primo parametro è il nome di ingresso modulo, il secondo indice può essere un "nome", "tipo", "dimensione", "tmp_name" o "errore". Come segue:
Questo è molto semplice il caricamento di file. Sulla base di considerazioni di sicurezza, è necessario aumentare le restrizioni che gli utenti sono autorizzati a caricare i file.
In questo script, abbiamo aggiunto il limite di upload di file. Gli utenti possono caricare solo .gif, .jpeg, .jpg, .png, la dimensione del file deve essere inferiore a 200 kB:
<?php // 允许上传的图片后缀 $allowedExts = array("gif", "jpeg", "jpg", "png"); $temp = explode(".", $_FILES["file"]["name"]); $extension = end($temp); // 获取文件后缀名 if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png")) && ($_FILES["file"]["size"] < 204800) // 小于 200 kb && in_array($extension, $allowedExts)) { if ($_FILES["file"]["error"] > 0) { echo "错误:: " . $_FILES["file"]["error"] . "<br>"; } else { echo "上传文件名: " . $_FILES["file"]["name"] . "<br>"; echo "文件类型: " . $_FILES["file"]["type"] . "<br>"; echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"]; } } else { echo "非法的文件格式"; } ?>
L'esempio precedente è quello di creare una copia temporanea del file caricato in una cartella PHP file server temporaneo.
La copia temporanea del file scompariranno alla fine dello script. Per salvare un file viene caricato, abbiamo bisogno di copiare in un'altra posizione:
<?php // 允许上传的图片后缀 $allowedExts = array("gif", "jpeg", "jpg", "png"); $temp = explode(".", $_FILES["file"]["name"]); echo $_FILES["file"]["size"]; $extension = end($temp); // 获取文件后缀名 if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png")) && ($_FILES["file"]["size"] < 204800) // 小于 200 kb && in_array($extension, $allowedExts)) { if ($_FILES["file"]["error"] > 0) { echo "错误:: " . $_FILES["file"]["error"] . "<br>"; } else { echo "上传文件名: " . $_FILES["file"]["name"] . "<br>"; echo "文件类型: " . $_FILES["file"]["type"] . "<br>"; echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"] . "<br>"; // 判断当期目录下的 upload 目录是否存在该文件 // 如果没有 upload 目录,你需要创建它,upload 目录权限为 777 if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " 文件已经存在。 "; } else { // 如果 upload 目录不存在该文件则将文件上传到 upload 目录下 move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "文件存储在: " . "upload/" . $_FILES["file"]["name"]; } } } else { echo "非法的文件格式"; } ?>
Lo script precedente rileva se il file esiste già, se non, mettere i file vengono copiati in una directory chiamata "caricare" di.
operazione di caricamento di file Demo è la seguente: