php文件上傳代碼怎么寫

php文件上傳代碼怎么寫

在初學php的時候,我們無法理解php文件上傳的代碼,以及上傳的邏輯,以下代碼從初學者的角度編寫,希望對大家有幫助!

需要用到的知識:

超級全局數組:$_FILES

  • $_FILES['myfile']['name']的值是:客戶端文件系統的文件名稱
  • $_FILES['myfile']['type']的值是:客戶端傳遞的文件類型
  • $_FILES['myfile']['size']的值是:文件的字節大小
  • $_FILES['myflie']['tmp_name ']的值是:文件被上傳后在服務器存儲的臨時全路徑
  • $_FILES['myfile']['error']的值是:文件上傳的錯誤代碼

存儲在$_FILES['myfile']['error']中的值

  • 值為0: 表示沒有發生任何錯誤

  • 值為1: 表示上傳文件的大小超出了約定值。文件大小的最大值在PHP配置文件中指定的,指令是:upload_max_filesize

  • 值為2: 表示上傳文件大小超過了HTML表單隱藏域屬性的MAX_FILE_SIZE元素所指定的最大值

  • 值為3: 表示文件只被部分上傳

  • 值為4:表示沒有上傳任何文件

  • 值為6: 表示找不到臨時文件夾

  • 值為7: 表示文件寫入失敗

錯誤值對應常量

  • UPLOAD_ERR_OK : 對應值0

  • UPLOAD_ERR_INI_SIZE : 對應值1

  • UPLOAD_ERR_FORM_SIZE : 對應值2

  • UPLOAD_ERR_PARTIAL : 對應值3

  • UPLOAD_ERR_NO_FILE : 對應值4

  • UPLOAD_ERR_NO_TMP_DIR : 對應值6

  • UPLOAD_ERR_CANT_WRITE : 對應值7

upload.html 代碼如下

<!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 代碼如下

<?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 '上傳失敗';    }}

更多PHP相關知識,請訪問龍方網絡!

<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-3019150162.css"/><link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-3019150162.css"/>

以上就是php文件上傳代碼怎么寫的詳細內容,更多請關注龍方網絡其它相關文章!

鄭重聲明:本文版權包含圖片歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們([email protected])修改或刪除,多謝。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

留言與評論(共有 0 條評論)
   
驗證碼:
彩票店