国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 後端開發(fā) php教程 使用php完成一個使用者註冊以及管理的demo(php實作單一檔案與多檔案的上傳)

使用php完成一個使用者註冊以及管理的demo(php實作單一檔案與多檔案的上傳)

Aug 08, 2016 am 09:29 AM
files gt lt name

此篇文章主要講解如何封裝一個php的用於文件上傳下載的函數(shù),可以用於本demo中的頭像上傳功能,順便講解一下多文件上傳的方式。如果對於文件上傳特別熟悉可以跳過此節(jié)。
還是使用之前那個介面。
addUser.php:

<code><span><!doctype html></span><span><<span>html</span>></span><span><<span>head</span>></span><span><<span>meta</span><span>charset</span>=<span>"utf-8"</span>></span><span><<span>title</span>></span><span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><<span>H3</span>></span>添加管理員<span></<span>H3</span>></span><span><<span>FORM</span><span>action</span>=<span>"doAdminAction.php?act=addUser"</span><span>method</span>=<span>"post"</span>></span><span><<span>TABLE</span><span>width</span>=<span>"60%"</span><span>border</span>=<span>"1"</span><span>cellpadding</span>=<span>"5"</span><span>cellspacing</span>=<span>"0"</span><span>bgcolor</span>=<span>"#cccccc"</span>></span><span><<span>tr</span>></span><span><<span>TD</span><span>align</span>=<span>"right"</span>></span>用戶名稱<span></<span>TD</span>></span><span><<span>TD</span>></span><span><<span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"username"</span><span>placeholder</span>=<span>"請輸入用戶名稱"</span>/></span><span></<span>TD</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>TD</span><span>align</span>=<span>"right"</span>></span>用戶密碼<span></<span>TD</span>></span><span><<span>TD</span>></span><span><<span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"password"</span><span>placeholder</span>=<span>"請輸入用戶名稱"</span>/></span><span></<span>TD</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>TD</span><span>align</span>=<span>"right"</span>></span>用戶郵箱<span></<span>TD</span>></span><span><<span>TD</span>></span><span><<span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"email"</span><span>placeholder</span>=<span>"請輸入用戶名稱"</span>/></span><span></<span>TD</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>td</span><span>align</span>=<span>"right"</span>></span>性別<span></<span>td</span>></span><span><<span>td</span>></span><span><<span>input</span><span>type</span>=<span>"radio"</span><span>name</span>=<span>"sex"</span><span>value</span>=<span>"1"</span><span>checked</span>=<span>"checked"</span>/></span>男
    <span><<span>input</span><span>type</span>=<span>"radio"</span><span>name</span>=<span>"sex"</span><span>value</span>=<span>"2"</span> /></span>女
    <span><<span>input</span><span>type</span>=<span>"radio"</span><span>name</span>=<span>"sex"</span><span>value</span>=<span>"3"</span> /></span>保密
    <span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>td</span><span>align</span>=<span>"right"</span>></span>頭像<span></<span>td</span>></span><span><<span>td</span>></span><span><<span>input</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"face"</span> /></span><span></<span>td</span>></span><span></<span>tr</span>></span><span><<span>tr</span>></span><span><<span>TD</span><span>colspan</span>=<span>"2"</span>></span><span><<span>input</span><span>type</span>=<span>"submit"</span><span>value</span>=<span>"添加用戶"</span>/></span><span></<span>TD</span>></span><span></<span>tr</span>></span><span></<span>FORM</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>


這裡是檔案目錄:

在表單提交的doAdminAction.php中,只需要增加 加move_uploaded_file($_FILES["face"]["tmp_name"], <br> "upload/" . $_FILES["face"]["name"]);這一行程式碼,即可將客戶端上傳的檔案放在伺服器中的對應的地方。但是這樣的程式碼有一些問題
(1)如果在admin不存在upload的資料夾,檔案上傳不上去。
(2)對於上傳的文件的類型沒有進行檢驗,如果出現(xiàn)病毒文件會比較危險。
(3)如果上傳了與upload資料夾中的文件名稱相同的文件,原來的文件就會被替換掉。
(4)對於檔案上傳可能會出現(xiàn)的一些錯誤沒有進行處理,例如檔案大小超過了2M,(php ini 檔案中預設規(guī)定的上傳限制大小為2M)
以下是解決方案:
(1)先判斷upload的資料夾是否存在,如果不存在則建立

<code><span>$path</span>=<span>"upload/"</span>;   
<span>//</span>如果路徑不存在就建立的路徑上
    <span>if</span>(!file_exists(<span>$path</span>))
    {
        mkdir(<span>$path</span>,<span>0777</span>,<span>true</span>);
    } </code>

(2)使用strtolower(end(explode(“.”, $filename)));取得檔案的拓展名稱
然後判斷拓展名是否在所需的文件類型中。
(3)使用md5(uniqid(microtime(true),true));得到一個唯一的字串與先前得到的檔案拓展名稱連接在一起,作為上傳檔案的檔案名稱。
(4)現(xiàn)在開始寫doAdminAction的程式碼,第四個問題將在程式碼中講解。

<code><span><span><?php</span><span>require_once</span><span>'../include.php'</span>;
    <span>//print_r($_FILES["face"]);</span><span>$path</span>=<span>"upload/"</span>;
    <span>//如果路徑不存在就建立的路徑上</span><span>if</span>(!file_exists(<span>$path</span>))
    {
        mkdir(<span>$path</span>,<span>0777</span>,<span>true</span>);
    }
    <span>//允許的類型</span><span>$allowExt</span>=<span>array</span>(<span>"gif"</span>,<span>"jpeg"</span>,<span>"png"</span>,<span>"jpg"</span>,<span>"wbmp"</span>);
    <span>$filename</span>=<span>$_FILES</span>[<span>"face"</span>][<span>"name"</span>];
    <span>$ext</span>=getExt(<span>$filename</span>);
    <span>if</span>(!in_array(<span>$ext</span>,<span>$allowExt</span>)){
        <span>exit</span>(<span>"非法文件類型"</span>);
    }
    <span>//得到了唯一的文件名的文件</span><span>$filename</span>=getUniName().<span>"."</span>.<span>$ext</span>;
    <span>if</span>(move_uploaded_file(<span>$_FILES</span>[<span>"face"</span>][<span>"tmp_name"</span>],
    <span>$path</span>.<span>$filename</span>))
    {
        <span>echo</span><span>"文件上傳成功"</span>;
    }
    <span>else</span>
    {
        <span>switch</span>(<span>$_FILES</span>[<span>"face"</span>][<span>'error'</span>]){
            <span>case</span><span>1</span>:
                <span>$mes</span>=<span>"超過了配置文件上傳文件的大小"</span>;<span>//UPLOAD_ERR_INI_SIZE</span><span>break</span>;
            <span>case</span><span>2</span>:
                <span>$mes</span>=<span>"超過了表單設置上傳文件的大小"</span>;         <span>//UPLOAD_ERR_FORM_SIZE</span><span>break</span>;
            <span>case</span><span>3</span>:
                <span>$mes</span>=<span>"文件部分被上傳"</span>;<span>//UPLOAD_ERR_PARTIAL</span><span>break</span>;
            <span>case</span><span>4</span>:
                <span>$mes</span>=<span>"沒有文件被上傳"</span>;<span>//UPLOAD_ERR_NO_FILE</span><span>break</span>;
            <span>case</span><span>6</span>:
                <span>$mes</span>=<span>"沒有找到臨時目錄"</span>;<span>//UPLOAD_ERR_NO_TMP_DIR</span><span>break</span>;
            <span>case</span><span>7</span>:
                <span>$mes</span>=<span>"文件不可寫"</span>;<span>//UPLOAD_ERR_CANT_WRITE;</span><span>break</span>;
            <span>case</span><span>8</span>:
                <span>$mes</span>=<span>"由于PHP的擴展程序中斷了文件上傳"</span>;<span>//UPLOAD_ERR_EXTENSION</span><span>break</span>;
        }
        <span>echo</span><span>$mes</span>;
    }
<span>?></span></span></code>

如果發(fā)生了出現(xiàn)的錯誤,則這些錯誤會被印出來。至此單一檔案上傳的內容講解完畢,現(xiàn)在將上述的程式碼封裝為函數(shù)。

<code><span><?php</span><span><span>function</span><span>uploadFile</span><span>(<span>$path</span>=<span>"upload/"</span>,<span>$allowExt</span>=array<span>(<span>"gif"</span>,<span>"jpeg"</span>,<span>"png"</span>,<span>"jpg"</span>,<span>"wbmp"</span>)</span>,<span>$imgFlag</span>=true)</span>
{</span><span>//如果路徑不存在就建立的路徑上</span><span>if</span>(!file_exists(<span>$path</span>))
    {
        mkdir(<span>$path</span>,<span>0777</span>,<span>true</span>);
    }
    <span>//允許的類型</span><span>$filename</span>=<span>$_FILES</span>[<span>"face"</span>][<span>"name"</span>];
    <span>$ext</span>=getExt(<span>$filename</span>);
    <span>if</span>(!in_array(<span>$ext</span>,<span>$allowExt</span>)){
        <span>exit</span>(<span>"非法文件類型"</span>);
    }
    <span>if</span>(<span>$imgFlag</span>){
        <span>//如何驗證圖片是否是一個真正的圖片類型</span><span>//getimagesize($filename):驗證文件是否是圖片類型 正確返回數(shù)組錯誤返回false</span><span>$info</span>=getimagesize(<span>$tmp_name</span>);
        <span>//var_dump($info);exit;</span><span>if</span>(!<span>$info</span>){
            <span>exit</span>(<span>"不是真正的圖片類型"</span>);
        }
    }
    <span>//得到了唯一的文件名的文件</span><span>$filename</span>=getUniName().<span>"."</span>.<span>$ext</span>;
    <span>if</span>(move_uploaded_file(<span>$_FILES</span>[<span>"face"</span>][<span>"tmp_name"</span>],
        <span>$path</span>.<span>$filename</span>))
    {
        <span>echo</span><span>"文件上傳成功"</span>;
    }
    <span>else</span>
    {
        <span>switch</span>(<span>$_FILES</span>[<span>"face"</span>][<span>'error'</span>]){
            <span>case</span><span>1</span>:
                <span>$mes</span>=<span>"超過了配置文件上傳文件的大小"</span>;<span>//UPLOAD_ERR_INI_SIZE</span><span>break</span>;
            <span>case</span><span>2</span>:
                <span>$mes</span>=<span>"超過了表單設置上傳文件的大小"</span>;         <span>//UPLOAD_ERR_FORM_SIZE</span><span>break</span>;
            <span>case</span><span>3</span>:
                <span>$mes</span>=<span>"文件部分被上傳"</span>;<span>//UPLOAD_ERR_PARTIAL</span><span>break</span>;
            <span>case</span><span>4</span>:
                <span>$mes</span>=<span>"沒有文件被上傳"</span>;<span>//UPLOAD_ERR_NO_FILE</span><span>break</span>;
            <span>case</span><span>6</span>:
                <span>$mes</span>=<span>"沒有找到臨時目錄"</span>;<span>//UPLOAD_ERR_NO_TMP_DIR</span><span>break</span>;
            <span>case</span><span>7</span>:
                <span>$mes</span>=<span>"文件不可寫"</span>;<span>//UPLOAD_ERR_CANT_WRITE;</span><span>break</span>;
            <span>case</span><span>8</span>:
                <span>$mes</span>=<span>"由于PHP的擴展程序中斷了文件上傳"</span>;<span>//UPLOAD_ERR_EXTENSION</span><span>break</span>;
        }
        <span>echo</span><span>$mes</span>;
    }
}</code>

多檔案上傳分為兩種情況
(1)多個單一檔案上傳

<code><span><!doctype html></span><span><<span>html</span>></span><span><<span>head</span>></span><span><<span>meta</span><span>charset</span>=<span>"utf-8"</span>></span><span><<span>title</span>></span><span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><!--  表單中enctype="multipart/form-data"的意思,是設置表單的MIME編碼。默認情況,這個編碼格式是application/x-www-form-urlencoded,不能用于文件上傳;只有使用了multipart/form-data,才能完整的傳遞文件數(shù)據(jù),進行下面的操作.
--></span><span><<span>FORM</span><span>action</span>=<span>"doAction2.php"</span><span>method</span>=<span>"post"</span><span>enctype</span>=<span>"multipart/form-data"</span>></span><span><<span>INPUT</span><span>type</span>=<span>"hidden"</span><span>name</span>=<span>"MAX_FILE_SIZE"</span><span>value</span>=<span>"1048576"</span>/></span>    請選擇上傳文件:<span><<span>INPUT</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"myFile1"</span>/></span><span><<span>br</span>/></span>
  請選擇上傳文件:<span><<span>INPUT</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"myFile2"</span>/></span><span><<span>br</span>/></span>
  請選擇上傳文件:<span><<span>INPUT</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"myFile3"</span>/></span><span><<span>br</span>/></span><span><<span>input</span><span>type</span>=<span>"submit"</span><span>value</span>=<span>"上傳"</span>/></span><span></<span>FORM</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>

這種形式相當於上傳了多個單一檔案,在doAction2.php中print_r($_FILES);得到

<code><span>Array</span>
(
    [myFile1] => <span>Array</span>
        (
            [name] => touxiang.jpg
            [type] => image/jpeg
            [tmp_name] => D:\xampp\tmp\php79E3.tmp
            [error] => <span>0</span>
            [size] => <span>28747</span>
        )

    [myFile2] => <span>Array</span>
        (
            [name] => 文章.png
            [type] => image/png
            [tmp_name] => D:\xampp\tmp\php7A03.tmp
            [error] => <span>0</span>
            [size] => <span>11655</span>
        )

    [myFile3] => <span>Array</span>
        (
            [name] => 增加.png
            [type] => image/png
            [tmp_name] => D:\xampp\tmp\php7A04.tmp
            [error] => <span>0</span>
            [size] => <span>7439</span>
        )

)</code>

(2)多重檔案上傳

<code><span><!doctype html></span><span><<span>html</span>></span><span><<span>head</span>></span><span><<span>meta</span><span>charset</span>=<span>"utf-8"</span>></span><span><<span>title</span>></span><span></<span>title</span>></span><span></<span>head</span>></span><span><<span>body</span>></span><span><!--  表單中enctype="multipart/form-data"的意思,是設置表單的MIME編碼。默認情況,這個編碼格式是application/x-www-form-urlencoded,不能用于文件上傳;只有使用了multipart/form-data,才能完整的傳遞文件數(shù)據(jù),進行下面的操作.
--></span><span><<span>FORM</span><span>action</span>=<span>"doAction2.php"</span><span>method</span>=<span>"post"</span><span>enctype</span>=<span>"multipart/form-data"</span>></span><span><<span>INPUT</span><span>type</span>=<span>"hidden"</span><span>name</span>=<span>"MAX_FILE_SIZE"</span><span>value</span>=<span>"1048576"</span>/></span>  請選擇上傳文件:<span><<span>INPUT</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"myFile[]"</span>/></span><span><<span>br</span>/></span>
  請選擇上傳文件:<span><<span>INPUT</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"myFile[]"</span>/></span><span><<span>br</span>/></span>
  請選擇上傳文件:<span><<span>INPUT</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"myFile[]"</span>/></span><span><<span>br</span>/></span><span><<span>input</span><span>type</span>=<span>"submit"</span><span>value</span>=<span>"上傳"</span>/></span><span></<span>FORM</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>

同樣print_r( $_files)一下

<code><span>Array</span>
(
    [myFile] => <span>Array</span>
        (
            [name] => <span>Array</span>
                (
                    [<span>0</span>] => touxiang.jpg
                    [<span>1</span>] => 文章.png
                    [<span>2</span>] => 增加.png
                )

            [type] => <span>Array</span>
                (
                    [<span>0</span>] => image/jpeg
                    [<span>1</span>] => image/png
                    [<span>2</span>] => image/png
                )

            [tmp_name] => <span>Array</span>
                (
                    [<span>0</span>] => D:\xampp\tmp\php1EC.tmp
                    [<span>1</span>] => D:\xampp\tmp\php1ED.tmp
                    [<span>2</span>] => D:\xampp\tmp\php1EE.tmp
                )

            [error] => <span>Array</span>
                (
                    [<span>0</span>] => <span>0</span>
                    [<span>1</span>] => <span>0</span>
                    [<span>2</span>] => <span>0</span>
                )

            [size] => <span>Array</span>
                (
                    [<span>0</span>] => <span>28747</span>
                    [<span>1</span>] => <span>11655</span>
                    [<span>2</span>] => <span>7439</span>
                )

        )

)
</code>

發(fā)現(xiàn)兩種方式得到的陣列有很多的差異。
對於第一種的情況(相當於一個檔案數(shù)組)我們可以

<code><span>foreach</span> (<span>$_FILES</span><span>as</span><span>$var</span>)
{
    <span>//對于每一個文件進行了文件上傳操作</span><span>$info</span>=uploadFile(<span>$var</span>);
    <span>echo</span><span>$info</span>;
}</code>

對於第二種情況我們可以將所示的三維數(shù)組轉換為第一種情況所示的二維數(shù)組即可。

<code>foreach(<span>$_FILES</span>[myFile][name] as <span>$key</span>=><span>$var</span> )
{
    <span>$files</span>[<span>$key</span>][name]=<span>$_FILES</span>[myFile][name][<span>$key</span>];
    <span>$files</span>[<span>$key</span>][type]=<span>$_FILES</span>[myFile][type][<span>$key</span>];
    <span>$files</span>[<span>$key</span>][tmp_name]=<span>$_FILES</span>[myFile][tmp_name][<span>$key</span>];
    <span>$files</span>[<span>$key</span>][<span>error</span>]=<span>$_FILES</span>[myFile][<span>error</span>][<span>$key</span>];
    <span>$files</span>[<span>$key</span>][<span>size</span>]=<span>$_FILES</span>[myFile][<span>size</span>][<span>$key</span>];
}
print_r(<span>$files</span>);</code>

結果

<code><span>Array</span>
(
    [<span>0</span>] => <span>Array</span>
        (
            [name] => touxiang.jpg
            [type] => image/jpeg
            [tmp_name] => D:\xampp\tmp\php3227.tmp
            [error] => <span>0</span>
            [size] => <span>28747</span>
        )

    [<span>1</span>] => <span>Array</span>
        (
            [name] => 文章.png
            [type] => image/png
            [tmp_name] => D:\xampp\tmp\php3228.tmp
            [error] => <span>0</span>
            [size] => <span>11655</span>
        )

    [<span>2</span>] => <span>Array</span>
        (
            [name] => 增加.png
            [type] => image/png
            [tmp_name] => D:\xampp\tmp\php3229.tmp
            [error] => <span>0</span>
            [size] => <span>7439</span>
        )

)</code>

成功了,現(xiàn)在我們開始封裝一個檔案上傳函數(shù),這個函數(shù)呢既可以處理單檔案上傳又可以處理多檔案上傳。然後我們只需要寫數(shù)組處理的這部分,然後呼叫upload()函數(shù)。

<code><span><?php</span><span>require_once</span><span>"../include.php"</span>;
<span>//用于轉換數(shù)組</span><span><span>function</span><span>buildInfo</span><span>()</span>
{</span><span>foreach</span>(<span>$_FILES</span><span>as</span><span>$file</span>)
    {
        <span>$i</span>=<span>0</span>;
        <span>if</span>(is_string(<span>$file</span>[<span>'name'</span>]))
        {
            <span>$files</span>[<span>$i</span>]=<span>$file</span>;
            <span>$i</span>++;
        }
        <span>else</span>
        {
            <span>foreach</span>(<span>$file</span>[name] <span>as</span><span>$key</span>=><span>$var</span>)
            {
                <span>$files</span>[<span>$key</span>][name]=<span>$file</span>[name][<span>$key</span>];
                <span>$files</span>[<span>$key</span>][type]=<span>$file</span>[type][<span>$key</span>];
                <span>$files</span>[<span>$key</span>][tmp_name]=<span>$file</span>[tmp_name][<span>$key</span>];
                <span>$files</span>[<span>$key</span>][error]=<span>$file</span>[error][<span>$key</span>];
                <span>$files</span>[<span>$key</span>][size]=<span>$file</span>[size][<span>$key</span>];
            } 
        }
    }
    <span>return</span><span>$files</span>;
}
<span>//用于上傳</span><span><span>function</span><span>uploadFile</span><span>(<span>$path</span>=<span>"upload/"</span>,<span>$allowExt</span>=array<span>(<span>"gif"</span>,<span>"jpeg"</span>,<span>"png"</span>,<span>"jpg"</span>,<span>"wbmp"</span>)</span>)</span>
{</span><span>//如果路徑不存在就建立的路徑上</span><span>if</span>(!file_exists(<span>$path</span>))
    {
        mkdir(<span>$path</span>,<span>0777</span>,<span>true</span>);
    }
    <span>$files</span>=buildInfo();
    <span>foreach</span>(<span>$files</span><span>as</span><span>$file</span>)
    {
        <span>//允許的類型</span><span>$filename</span>=<span>$file</span>[<span>"name"</span>];
        <span>$ext</span>=getExt(<span>$filename</span>);
        <span>if</span>(!in_array(<span>$ext</span>,<span>$allowExt</span>)){
            <span>exit</span>(<span>"非法文件類型"</span>);
        }
        <span>//校驗是否是一個真正的圖片類型</span><span>if</span>(<span>$imgFlag</span>){
            <span>if</span>(!getimagesize(<span>$file</span>[<span>'tmp_name'</span>])){
                <span>exit</span>(<span>"不是真正的圖片類型"</span>);
            }
        }
        <span>//得到了唯一的文件名的文件</span><span>$filename</span>=getUniName().<span>"."</span>.<span>$ext</span>;
        <span>if</span>(move_uploaded_file(<span>$file</span>[<span>"tmp_name"</span>],
            <span>$path</span>.<span>$filename</span>))
        {
            <span>echo</span><span>"文件上傳成功"</span>;
        }
        <span>else</span>
        {
            <span>switch</span>(<span>$file</span>[<span>'error'</span>]){
                <span>case</span><span>1</span>:
                    <span>$mes</span>=<span>"超過了配置文件上傳文件的大小"</span>;<span>//UPLOAD_ERR_INI_SIZE</span><span>break</span>;
                <span>case</span><span>2</span>:
                    <span>$mes</span>=<span>"超過了表單設置上傳文件的大小"</span>;         <span>//UPLOAD_ERR_FORM_SIZE</span><span>break</span>;
                <span>case</span><span>3</span>:
                    <span>$mes</span>=<span>"文件部分被上傳"</span>;<span>//UPLOAD_ERR_PARTIAL</span><span>break</span>;
                <span>case</span><span>4</span>:
                    <span>$mes</span>=<span>"沒有文件被上傳"</span>;<span>//UPLOAD_ERR_NO_FILE</span><span>break</span>;
                <span>case</span><span>6</span>:
                    <span>$mes</span>=<span>"沒有找到臨時目錄"</span>;<span>//UPLOAD_ERR_NO_TMP_DIR</span><span>break</span>;
                <span>case</span><span>7</span>:
                    <span>$mes</span>=<span>"文件不可寫"</span>;<span>//UPLOAD_ERR_CANT_WRITE;</span><span>break</span>;
                <span>case</span><span>8</span>:
                    <span>$mes</span>=<span>"由于PHP的擴展程序中斷了文件上傳"</span>;<span>//UPLOAD_ERR_EXTENSION</span><span>break</span>;
            }
            <span>echo</span><span>$mes</span>;
        }
    }
}</span></code>

這段程式碼中也增加了對於上傳圖片是否為圖片格式的檢驗,以及對於圖片大小的檢驗,因為有些病毒檔案會偽裝為圖片檔案。

以上就介紹了使用php完成一個用戶註冊以及管理的demo(php實現(xiàn)單文件與多文件的上傳),包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

本網(wǎng)站聲明
本文內容由網(wǎng)友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權的內容,請聯(lián)絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
華為GT3 Pro和GT4的差異是什麼? 華為GT3 Pro和GT4的差異是什麼? Dec 29, 2023 pm 02:27 PM

許多用戶在選擇智慧型手錶的時候都會選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門的選擇,不少用戶都很好奇華為GT3pro和GT4有什麼區(qū)別,下面就給大家介紹一下二者。華為GT3pro和GT4有什麼差別一、外觀GT4:46mm和41mm,材質是玻璃鏡板+不鏽鋼機身+高分纖維後殼。 GT3pro:46.6mm和42.9mm,材質是藍寶石玻璃鏡+鈦金屬機身/陶瓷機身+陶瓷後殼二、健康GT4:採用最新的華為Truseen5.5+演算法,結果會更加的精準。 GT3pro:多了ECG心電圖和血管及安

修復:截圖工具在 Windows 11 中不起作用 修復:截圖工具在 Windows 11 中不起作用 Aug 24, 2023 am 09:48 AM

為什麼截圖工具在Windows11上不起作用了解問題的根本原因有助於找到正確的解決方案。以下是截圖工具可能無法正常工作的主要原因:對焦助手已開啟:這可以防止截圖工具開啟。應用程式損壞:如果截圖工具在啟動時崩潰,則可能已損壞。過時的圖形驅動程式:不相容的驅動程式可能會幹擾截圖工具。來自其他應用程式的干擾:其他正在運行的應用程式可能與截圖工具衝突。憑證已過期:升級過程中的錯誤可能會導致此issu簡單的解決方案這些適合大多數(shù)用戶,不需要任何特殊的技術知識。 1.更新視窗與Microsoft應用程式商店應用程

files是什麼文件 files是什麼文件 Dec 20, 2023 pm 02:11 PM

「files」本身並不是一個特定的文件類型,而是一個泛指的概念。

如何修復無法連線到iPhone上的App Store錯誤 如何修復無法連線到iPhone上的App Store錯誤 Jul 29, 2023 am 08:22 AM

第1部分:初始故障排除步驟檢查蘋果的系統(tǒng)狀態(tài):在深入研究複雜的解決方案之前,讓我們先從基礎知識開始。問題可能不在於您的設備;蘋果的伺服器可能會關閉。造訪Apple的系統(tǒng)狀態(tài)頁面,查看AppStore是否正常運作。如果有問題,您所能做的就是等待Apple修復它。檢查您的網(wǎng)路連接:確保您擁有穩(wěn)定的網(wǎng)路連接,因為「無法連接到AppStore」問題有時可歸因於連接不良。嘗試在Wi-Fi和行動數(shù)據(jù)之間切換或重置網(wǎng)路設定(「常規(guī)」>「重置」>「重置網(wǎng)路設定」>設定)。更新您的iOS版本:

如何使用Java中的Files函數(shù)進行檔案操作 如何使用Java中的Files函數(shù)進行檔案操作 Jun 26, 2023 pm 04:21 PM

在Java程式語言中,經(jīng)常需要進行檔案的讀取、寫入、複製、刪除等操作。 Java提供了一組Files類別的函數(shù)來進行檔案操作。本文將介紹如何使用Java中的Files函數(shù)進行檔案操作。導入所需的套件在進行檔案操作之前,首先要導入Java的io套件和nio套件:importjava.io.File;importjava.io.IOException;import

php提交表單通過后,彈出的對話框怎樣在當前頁彈出,該如何解決 php提交表單通過后,彈出的對話框怎樣在當前頁彈出,該如何解決 Jun 13, 2016 am 10:23 AM

php提交表單通過后,彈出的對話框怎樣在當前頁彈出php提交表單通過后,彈出的對話框怎樣在當前頁彈出而不是在空白頁彈出?想實現(xiàn)這樣的效果:而不是空白頁彈出:------解決方案--------------------如果你的驗證用PHP在后端,那么就用Ajax;僅供參考:HTML code

watch4pro好還是gt好 watch4pro好還是gt好 Sep 26, 2023 pm 02:45 PM

watch4pro和gt各自具有不使用的特點和適用場景,如果注重功能的全面性、高性能和時尚外觀,同時願意承擔較高的價格,那麼Watch 4 Pro可能更適合。如果對功能要求不高,更注重電池續(xù)航力和價格的合理性,那麼GT系列可能更適合。最終的選擇應根據(jù)個人需求、預算和喜好來決定,建議在購買前仔細考慮自己的需求,並參考各種產(chǎn)品的評測和比較,以做出更明智的選擇。

如何使用 iPadOS 17.4 優(yōu)化 iPad 電池壽命 如何使用 iPadOS 17.4 優(yōu)化 iPad 電池壽命 Mar 21, 2024 pm 10:31 PM

如何使用iPadOS17.4優(yōu)化iPad電池壽命延長電池續(xù)航時間是移動設備體驗的關鍵,iPad是一個很好的例子。如果您覺得iPad電池消耗速度過快,不用擔心,在iPadOS17.4中有許多技巧和調整可以顯著延長設備的運行時間。本深入指南的目標不僅僅是提供信息,而是改變您使用iPad的方式,增強您的整體電池管理,并確保您可以在無需充電的情況下更長時間地依賴您的設備。通過采用此處概述的做法,您朝著更高效、更謹慎地使用技術邁出了一步,這些技術是根據(jù)您的個人需求和使用模式量身定制的。識別主要的能量消耗者

See all articles