文件的操做,如何作文件上傳

上傳就是本地的文件,好比說一張圖片放到服務器上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 "文件類型不正確!";
    }
}
相關文章
相關標籤/搜索