Heute schreibe ich über das Hochladen von Dateien. Ich habe die richtigen Regeln vergessen, die ich vor ein paar Tagen gelernt habe, und eine sehr dumme Methode verwendet, um das Format zu beurteilen und den Code direkt einzugeben:
<?php /** * Created by PhpStorm. * User: Administrator * Date: 16-9-12 * Time: 上午10:01 * * 文件上传 * */ ?> <form action="upload.php" method="post" enctype="multipart/form-data"> 上传文件:<input type="file" name="file" id="file"> <br/> <input type="submit" name="subbtn" value="上传"> </form> <?php if(isset($_POST['subbtn'])){ echo $_FILES['file']['type']."<br/>"; /* * JPG image/jpeg * GIF image/gif * PNG image/png * */ //文件上传处理程序: //$_FILES['file']['type'] 上传文件的类型 //$_FILES['file']['size'] 上传文件的大小 //$_FILES['file']['error'] 上传错误代码 //$_FILES['file']['name'] 上传文件名 //$_FILES['file']['tmp_name'] 临时文件名 //$fileName="a.TXT"; //$pos = strrpos($fileName,"."); //$ext = strtolower(substr($fileName,$pos)); // $file = $_FILES['file']; $fileName=$file['name']; echo '后缀切割前:'. $file['name']."<br/>"; //确定最后一个.出现的位置 $pos = strrpos($file['name'],'.'); //转换文件名为小写 $ext = strtolower(" $fileName"); //提取文件名后缀 $fileExten=substr($ext,$pos+2); //判断文件后缀时候符合特定要求,这里设置为:jpg jpeg doc if($fileExten=='jpg'||$fileExten=='jpeg'||$fileExten=='doc' ){ echo "文件后缀:". $fileExten. "<br/>"; echo "文件类型:". $file['type']."<br/>"; echo "文件大小:". $file['size']."<br/>"; echo "错误代码:". $file['error']."<br/>"; echo "文件名:". $file['name']."<br/>"; echo "临时文件名:". $file['tmp_name']."<br/>"; move_uploaded_file($file['tmp_name'], "files/".$file['name']); }else echo "文件格式不对"; } ?>
Wenn das Format falsch ist, wird es direkt abgefangen.
Wenn Sie die Größenbeschränkung für hochgeladene Dateien ändern möchten, können Sie auf die folgenden Methoden zurückgreifen:
1. Allgemeiner Datei-Upload, es sei denn, die Datei ist sehr klein Der Upload dauert wahrscheinlich eine Minute.
Aber in PHP beträgt die standardmäßige maximale Ausführungszeit der Seite 30 Sekunden. Das heißt, wenn sie 30 Sekunden überschreitet, wird die Ausführung des Skripts gestoppt.Dies führt dazu, dass die Webseite nicht geöffnet werden kann.
Suchen Sie nach
max_execution_time
. Der Standardwert ist 30 Sekunden = 0
0 bedeutet keine Begrenzung
2. Post_max_size ändern Legt die maximal zulässige Größe für POST-Daten fest. Diese Einstellung wirkt sich auch auf Datei-Uploads aus.
Die standardmäßige post_max_size von PHP ist 2M. Wenn die POST-Datengröße größer als post_max_size ist, sind die Superglobals $_POST und $_FILES leer.
Ändern Sie sie in
post_max_size = 150M.
3. Viele Leute werden es ändern. Beim Hochladen von Dateien beträgt die maximale Größe jedoch immer noch 8 MB. Warum müssen wir auch einen Parameter upload_max_filesize ändern, um die maximale Größe der hochgeladenen Datei anzugeben?
Suchen Sie nach upload_max_filesize, der Standardwert ist 8M und ändern Sie ihn in
upload_max_filesize = 100M
Außerdem ist zu beachten, dass post_max_size größer als upload_max_filesize ist