溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP怎么實(shí)現(xiàn)文件上傳用全局?jǐn)?shù)組$_FILES

發(fā)布時(shí)間:2020-07-15 10:49:12 來源:億速云 閱讀:161 作者:Leah 欄目:編程語(yǔ)言

本篇文章為大家展示了PHP怎么實(shí)現(xiàn)文件上傳用全局?jǐn)?shù)組$_FILES,代碼簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

這里使用PHP的全局?jǐn)?shù)組$_FILES來實(shí)現(xiàn)文件上傳:

  • $_FILES["file"]["name"] - 被上傳文件的名稱
  • $_FILES["file"]["type"] - 被上傳文件的類型
  • $_FILES["file"]["size"] - 被上傳文件的大小,以字節(jié)計(jì)
  • $_FILES["file"]["tmp_name"] - 存儲(chǔ)在服務(wù)器的文件的臨時(shí)副本的名稱
  • $_FILES["file"]["error"] - 由文件上傳導(dǎo)致的錯(cuò)誤代碼

HTML代碼:

<form action="upload_file.php" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file" /><br />
    <input type="submit" name="submit" value="Submit" /></form>

PHP代碼:

if (!empty($_FILES)) { 
    // 限制文件大小
    $file_size = $_FILES["file"]["size"];    // 限制2M大小
    if ($file_size > 1024 * 1024 * 2) {        echo '文件大小超過限制';        exit;
    } 
    // 限制文件上傳類型
    $file_type = $_FILES["file"]["type"];    $file_type_arr = ['image/jpg', 'image/jpeg', 'image/png', 'image/pjpeg', 'image/gif'];    if (!in_array($file_type, $file_type_arr)) {        echo '上傳文件類型錯(cuò)誤';        exit;
    } 
    // 文件上傳到服務(wù)器臨時(shí)文件夾之后的文件名
    $tem_name = $_FILES['file']['tmp_name'];    // 取得文件后綴名
    $file_fix = explode('.', $_FILES['file']['name'])[1] ? explode('.', $_FILES['file']['name'])[1] : 'png';    // 文件重命名,這里自動(dòng)生成一個(gè)不重復(fù)的名字,方便使用
    $name = md5(uniqid(md5(microtime(true)), true)) . '.' . $file_fix;    // 要存放文件的目錄定義,這里按日期分開存儲(chǔ)
    $file_dir = dirname(__FILE__) . '/upload/' . date('Ymd') . '/';    // 檢測(cè)要存放文件的目錄是否存在,不存在則創(chuàng)建
    if (!is_dir($file_dir)) {        mkdir($file_dir, 0755, true);
    }    // 移動(dòng)文件到指定目錄下
    @ move_uploaded_file($tem_name, $file_dir . $name); 
    echo '上傳成功';    exit;
} else {    echo '文件上傳失敗';    exit;
}

上述內(nèi)容就是PHP怎么實(shí)現(xiàn)文件上傳用全局?jǐn)?shù)組$_FILES,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI