上傳就是本地的文件,好比說一張圖片放到服務器上php
先作一個form表單安全
<form action="shangchuan.php" method="post" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="submit" value="上傳" /> </form>
enctype="multipart/form-data" 若是是用來上傳文件的,就須要額外加這個屬性服務器
這樣就能夠提交文件了post
這時處理頁面使用FILES取編碼
如何把文件存下來?安全保險spa
1.控制上傳文件類型code
2.控制上傳文件大小orm
3.防止文件名重複blog
1. 修改保存的文件名 圖片
用戶名+時間戳+隨機數+文件名,這樣能夠防止重複
流水號 作法就稍微複雜一些 每次我取名字的時候看最後的多大,而後再加個1
使用文件夾
public/1ch/2017-2-12/1.jpg 這樣也能夠儘可能避免重名,但不是很精確
4.保存文件
//判斷文件上傳是否出錯 if($_FILES["file"]["error"]) { echo $_FILES["file"]["error"]; } else { //控制上傳文件的類型,大小 if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png") && $_FILES["file"]["size"]<1024000) { //找到文件存放的位置 $filename = "./file/".date("YmdHis").$_FILES["file"]["name"]; //轉換編碼格式 $filename = iconv("UTF-8","gb2312",$filename); //判斷文件是否存在 if(file_exists($filename)) { echo "該文件已存在!"; } else { //保存文件 move_uploaded_file($_FILES["file"]["tmp_name"],$filename); } } else { echo "文件類型不正確!"; } }