php文件上傳代碼如何寫

小編給大家分享一下php文件上傳代碼如何寫,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對(duì)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。

php文件上傳代碼怎么寫

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

需要用到的知識(shí):

超級(jí)全局?jǐn)?shù)組:$_FILES

$_FILES['myfile']['name']的值是:客戶端文件系統(tǒng)的文件名稱

$_FILES['myfile']['type']的值是:客戶端傳遞的文件類型

$_FILES['myfile']['size']的值是:文件的字節(jié)大小

$_FILES['myflie']['tmp_name ']的值是:文件被上傳后在服務(wù)器存儲(chǔ)的臨時(shí)全路徑

$_FILES['myfile']['error']的值是:文件上傳的錯(cuò)誤代碼

存儲(chǔ)在$_FILES['myfile']['error']中的值

值為0: 表示沒有發(fā)生任何錯(cuò)誤

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

值為2: 表示上傳文件大小超過了HTML表單隱藏域?qū)傩缘腗AX_FILE_SIZE元素所指定的最大值

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

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

值為6: 表示找不到臨時(shí)文件夾

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

錯(cuò)誤值對(duì)應(yīng)常量

UPLOAD_ERR_OK : 對(duì)應(yīng)值0

UPLOAD_ERR_INI_SIZE : 對(duì)應(yīng)值1

UPLOAD_ERR_FORM_SIZE : 對(duì)應(yīng)值2

UPLOAD_ERR_PARTIAL :  對(duì)應(yīng)值3

UPLOAD_ERR_NO_FILE : 對(duì)應(yīng)值4

UPLOAD_ERR_NO_TMP_DIR : 對(duì)應(yīng)值6

UPLOAD_ERR_CANT_WRITE : 對(duì)應(yīng)值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"/>
        <!--通過表單限制上傳文件的大小 一定要在上傳按鈕前 大小以字節(jié)為主-->
        <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;
//第一個(gè)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))//檢查數(shù)組中是否存在某個(gè)值,返回布爾型
    {
       exit('上傳類型有誤');
    }
    //判斷文件上傳的大小
    if($file['pic']['size'] > 1024 * 1024 * 8) //以字節(jié)為主 1024*1024是1M
    {
        exit('上傳的文件太大');
    }
    //設(shè)置新文件名
    $filename = date('YmdHis',strtotime('now')).rand(1000,9999);
    //獲取上傳文件的后綴名
    $name = $file['pic']['name'];
    //得到文件名字符串
    $filestr      = explode('.',$name);
    $ext = array_pop($filestr);
    //拼接新文件名
    $newfilename = $filename.'.'.$ext;
    //拼接上傳文件的路徑
    $path = './uploads/';
    //絕對(duì)路徑
    $abspath = $path.$newfilename;
    if(move_uploaded_file($file['pic']['tmp_name'],$abspath))
    {
        echo '上傳成功';
    }else{
        echo '上傳失敗';
    }
}

看完了這篇文章,相信你對(duì)php文件上傳代碼如何寫有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

本文標(biāo)題:php文件上傳代碼如何寫
分享網(wǎng)址:http://muchs.cn/article0/gpgjio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、建站公司、云服務(wù)器、網(wǎng)站營(yíng)銷、網(wǎng)站改版網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)