文件上傳需要注意php.ini文件

檔案上傳需要注意php.ini檔案

在正式講解本章上傳前,我們第一件事情是要注意觀察php.ini檔案。

我們第一次開始接觸到如何修改php.ini文件,如果你的設定項與我們說的不一致,請注意修改。

我們來了解每一個組態項目。

我們來看看如何修改php.ini。

php.ini的檔案太多,找不到的時候你可以使用ctrl+f 搜尋相關設定項。

file_uploads on為開啟檔案上傳功能,off為關閉post_max_size系統允許的POST傳參的最大值 upload_max_filesize系統允許的上傳檔案的最大值
設定項目功能說明
file_uploads

#memory_limit

##記憶體使用限制




##################### #####建議尺寸###: file_size(檔案大小) < upload_max_filesize < post_max_size < memory_limit#######另外,需要注意的是腳本執行時間。 ######max_execution_time,這什參數的單位為秒。 ###這個參數是設定腳本的最大執行時間。 ###也可以根據需求做適當的改變。通常不需要來修改,系統預設值即可。超大檔案上傳的時候,可能會牽涉到這項參數的修改。 ######上傳時間太長了,會逾時。如果你將此項參數設為0,則是不限制逾時時間,不建議使。 ######完成了php.ini的相關配置,我們就可以開始試著完成第一次檔案上傳了。 ############
繼續學習
||
<form action="" enctype="multipart/form-data" method="post" name="uploadfile">上传文件:<input type="file" name="upfile" /><br> <input type="submit" value="上传" /></form> <?php //print_r($_FILES["upfile"]); if(is_uploaded_file($_FILES['upfile']['tmp_name'])){ $upfile=$_FILES["upfile"]; //获取数组里面的值 $name=$upfile["name"];//上传文件的文件名 $type=$upfile["type"];//上传文件的类型 $size=$upfile["size"];//上传文件的大小 $tmp_name=$upfile["tmp_name"];//上传文件的临时存放路径 //判断是否为图片 switch ($type){ case 'image/pjpeg':$okType=true; break; case 'image/jpeg':$okType=true; break; case 'image/gif':$okType=true; break; case 'image/png':$okType=true; break; } if($okType){ /** * 0:文件上传成功<br/> * 1:超过了文件大小,在php.ini文件中设置<br/> * 2:超过了文件的大小MAX_FILE_SIZE选项指定的值<br/> * 3:文件只有部分被上传<br/> * 4:没有文件被上传<br/> * 5:上传文件大小为0 */ $error=$upfile["error"];//上传后系统返回的值 echo "================<br/>"; echo "上传文件名称是:".$name."<br/>"; echo "上传文件类型是:".$type."<br/>"; echo "上传文件大小是:".$size."<br/>"; echo "上传后系统返回的值是:".$error."<br/>"; echo "上传文件的临时存放路径是:".$tmp_name."<br/>"; echo "开始移动上传文件<br/>"; //把上传的临时文件移动到up目录下面 move_uploaded_file($tmp_name,'up/'.$name); $destination="up/".$name; echo "================<br/>"; echo "上传信息:<br/>"; if($error==0){ echo "文件上传成功啦!"; echo "<br>图片预览:<br>"; echo "<img src=".$destination.">"; //echo " alt=\"图片预览:\r文件名:".$destination."\r上传时间:\">"; }elseif ($error==1){ echo "超过了文件大小,在php.ini文件中设置"; }elseif ($error==2){ echo "超过了文件的大小MAX_FILE_SIZE选项指定的值"; }elseif ($error==3){ echo "文件只有部分被上传"; }elseif ($error==4){ echo "没有文件被上传"; }else{ echo "上传文件大小为0"; } }else{ echo "请上传jpg,gif,png等格式的图片!"; } } ?>