Heim > Artikel > Backend-Entwicklung > So schreiben Sie einen PHP-Datei-Upload-Code
Wie schreibe ich PHP-Datei-Upload-Code?
Als wir PHP zum ersten Mal lernten, konnten wir PHP nicht verstehen Datei-Upload-Code, sowie die Upload-Logik, der folgende Code ist aus der Perspektive eines Anfängers geschrieben, ich hoffe, er wird für alle hilfreich sein!
Erforderliche Kenntnisse:
Super globales Array: Der Wert von $_FILES
$_FILES['myfile']['name'] ist: der Dateiname des Client-Dateisystems
Der Wert von $_FILES['myfile']['type'] ist: der vom Client übergebene Dateityp
$_FILES['myfile' ] Der Wert von ['size'] ist: die Bytegröße der Datei
Der Wert von $_FILES['myflie']['tmp_name '] ist: der temporäre vollständige Pfad, der nach dem auf dem Server gespeichert ist Datei wird hochgeladen
Der Wert von $_FILES['myfile']['error'] ist: der Fehlercode des Datei-Uploads
Der in $_FILES[' gespeicherte Wert myfile']['error']
Der Wert ist 0: Dies bedeutet, dass kein Fehler aufgetreten ist.
Der Wert ist 1: Dies bedeutet, dass die hochgeladene Dateigröße den vereinbarten Wert überschreitet. Die maximale Dateigröße ist in der PHP-Konfigurationsdatei angegeben. Die Anweisung lautet: upload_max_filesize
Der Wert ist 2: Zeigt an, dass die hochgeladene Dateigröße den durch das Element MAX_FILE_SIZE des HTML-Formularfeldattributs angegebenen Maximalwert überschreitet
Wert 3: Zeigt an, dass die Datei nur teilweise hochgeladen wurde
Wert 4: Zeigt an, dass keine Dateien hochgeladen wurden
Wert 6: Zeigt an, dass der temporäre Ordner dies nicht kann gefunden werden
Wert ist 7: Zeigt einen Dateischreibfehler an
Der Fehlerwert entspricht der Konstante
UPLOAD_ERR_OK: Entsprechender Wert 0
UPLOAD_ERR_INI_SIZE: Entsprechender Wert 1
UPLOAD_ERR_FORM_SIZE: Entsprechender Wert 2
UPLOAD_ERR_PARTIAL: Entsprechender Wert 3
UPLOAD_ERR_NO_FILE: Entsprechender Wert 4
UP LOAD_ERR_NO_TMP_DIR: Entsprechender Wert 6
UPLOAD_ERR_CANT_WRITE: entsprechender Wert 7
upload.html Der Code lautet wie folgt
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图片上传</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="pic"/> <!--通过表单限制上传文件的大小 一定要在上传按钮前 大小以字节为主--> <input type="hidden" name="MAX_FILE_SIZE" value="8388608"/> <input type="submit" name="sub" value="上传" /> </form> </body> </html>
upload.php Der Code lautet wie folgt
<?php //var_dump($_FILES); //exit; //判断是否是文件上传 $file = $_FILES; //第一个pic 是input 中的name值 if(is_uploaded_file($file['pic']['tmp_name'])) { //声明允许上传的文件类型 $allowType = ['image/png','image/jpeg','image/gif','image/jpg']; //正在上传的文件的类型 $type = $file['pic']['type']; // echo $type; //判断类型是否是允许的类型 if(!in_array($type,$allowType))//检查数组中是否存在某个值,返回布尔型 { exit('上传类型有误'); } //判断文件上传的大小 if($file['pic']['size'] > 1024 * 1024 * 8) //以字节为主 1024*1024是1M { exit('上传的文件太大'); } //设置新文件名 $filename = date('YmdHis',strtotime('now')).rand(1000,9999); //获取上传文件的后缀名 $name = $file['pic']['name']; //得到文件名字符串 $filestr = explode('.',$name); $ext = array_pop($filestr); //拼接新文件名 $newfilename = $filename.'.'.$ext; //拼接上传文件的路径 $path = './uploads/'; //绝对路径 $abspath = $path.$newfilename; if(move_uploaded_file($file['pic']['tmp_name'],$abspath)) { echo '上传成功'; }else{ echo '上传失败'; } }
Weitere PHP-bezogene Kenntnisse finden Sie auf derPHP-Chinese-Website!
Das obige ist der detaillierte Inhalt vonSo schreiben Sie einen PHP-Datei-Upload-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!