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

首頁 后端開發(fā) php教程 使用php完成一個用戶注冊以及管理的demo(php實現(xiàn)單文件與多文件的上傳)

使用php完成一個用戶注冊以及管理的demo(php實現(xiàn)單文件與多文件的上傳)

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

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

<code><span><span>html</span>></span><span>head</span>><span>meta</span><span>charset</span>=<span>"utf-8"</span>><span>title</span>><span><span>title</span>></span><span><span>head</span>></span><span>body</span>><span>H3</span>>添加管理員<span><span>H3</span>></span><span>FORM</span><span>action</span>=<span>"doAdminAction.php?act=addUser"</span><span>method</span>=<span>"post"</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>tr</span>><span>TD</span><span>align</span>=<span>"right"</span>>用戶名稱<span><span>TD</span>></span><span>TD</span>><span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"username"</span><span>placeholder</span>=<span>"請輸入用戶名稱"</span>/><span><span>TD</span>></span><span><span>tr</span>></span><span>tr</span>><span>TD</span><span>align</span>=<span>"right"</span>>用戶密碼<span><span>TD</span>></span><span>TD</span>><span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"password"</span><span>placeholder</span>=<span>"請輸入用戶名稱"</span>/><span><span>TD</span>></span><span><span>tr</span>></span><span>tr</span>><span>TD</span><span>align</span>=<span>"right"</span>>用戶郵箱<span><span>TD</span>></span><span>TD</span>><span>input</span><span>type</span>=<span>"text"</span><span>name</span>=<span>"email"</span><span>placeholder</span>=<span>"請輸入用戶名稱"</span>/><span><span>TD</span>></span><span><span>tr</span>></span><span>tr</span>><span>td</span><span>align</span>=<span>"right"</span>>性別<span><span>td</span>></span><span>td</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>input</span><span>type</span>=<span>"radio"</span><span>name</span>=<span>"sex"</span><span>value</span>=<span>"2"</span> />女
    <span>input</span><span>type</span>=<span>"radio"</span><span>name</span>=<span>"sex"</span><span>value</span>=<span>"3"</span> />保密
    <span><span>td</span>></span><span><span>tr</span>></span><span>tr</span>><span>td</span><span>align</span>=<span>"right"</span>>頭像<span><span>td</span>></span><span>td</span>><span>input</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"face"</span> /><span><span>td</span>></span><span><span>tr</span>></span><span>tr</span>><span>TD</span><span>colspan</span>=<span>"2"</span>><span>input</span><span>type</span>=<span>"submit"</span><span>value</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"]);這一行代碼,即可把客戶端上傳的文件放在服務(wù)器中的對應(yīng)的地方。但是這樣的代碼有一些問題
(1)如果在admin不存在upload的文件夾,文件上傳不上去。
(2)對于上傳的文件的類型沒有進(jìn)行檢驗,如果出現(xiàn)病毒文件會比較危險。
(3)如果上傳了與upload文件夾中的文件名稱相同的文件,原來的文件就會被替換掉。
(4)對于文件上傳可能會出現(xiàn)的一些錯誤沒有進(jìn)行處理,例如文件大小超過了2M,(php ini 文件中默認(rèn)規(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>"超過了表單設(shè)置上傳文件的大小"</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的擴(kuò)展程序中斷了文件上傳"</span>;<span>//UPLOAD_ERR_EXTENSION</span><span>break</span>;
        }
        <span>echo</span><span>$mes</span>;
    }
<span>?></span></span></span></code>

如果發(fā)生了出現(xiàn)的錯誤,則這些錯誤會被打印出來。至此單文件上傳的內(nèi)容講解完畢,現(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>"超過了表單設(shè)置上傳文件的大小"</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的擴(kuò)展程序中斷了文件上傳"</span>;<span>//UPLOAD_ERR_EXTENSION</span><span>break</span>;
        }
        <span>echo</span><span>$mes</span>;
    }
}</span></code>

多文件上傳分為兩種情況
(1)多個單文件上傳

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

這種形式相當(dāng)于上傳了多個單文件,在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><span>html</span>></span><span>head</span>><span>meta</span><span>charset</span>=<span>"utf-8"</span>><span>title</span>><span><span>title</span>></span><span><span>head</span>></span><span>body</span>><span><!--  表單中enctype="multipart/form-data"的意思,是設(shè)置表單的MIME編碼。默認(rèn)情況,這個編碼格式是application/x-www-form-urlencoded,不能用于文件上傳;只有使用了multipart/form-data,才能完整的傳遞文件數(shù)據(jù),進(jìn)行下面的操作.
--></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>INPUT</span><span>type</span>=<span>"hidden"</span><span>name</span>=<span>"MAX_FILE_SIZE"</span><span>value</span>=<span>"1048576"</span>/>  請選擇上傳文件:<span>INPUT</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"myFile[]"</span>/><span>br</span>/>
  請選擇上傳文件:<span>INPUT</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"myFile[]"</span>/><span>br</span>/>
  請選擇上傳文件:<span>INPUT</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"myFile[]"</span>/><span>br</span>/><span>input</span><span>type</span>=<span>"submit"</span><span>value</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ù)組有很多的不同。
對于第一種的情況(相當(dāng)于一個文件數(shù)組)我們可以

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

對于第二種情況我們可以將所示的三維數(shù)組轉(zhuǎn)換為第一種情況所示的二維數(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>

結(jié)果

<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ù)組處理的這部分,然后調(diào)用upload()函數(shù)即可。

<code><span><?php </span><span>require_once</span><span>"../include.php"</span>;
<span>//用于轉(zhuǎn)換數(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>"超過了表單設(shè)置上傳文件的大小"</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的擴(kuò)展程序中斷了文件上傳"</span>;<span>//UPLOAD_ERR_EXTENSION</span><span>break</span>;
            }
            <span>echo</span><span>$mes</span>;
        }
    }
}</span></code>

這段代碼中還增加了對于上傳圖片是否為圖片格式的檢驗,以及對于圖片大小的檢驗,因為有些病毒文件會偽裝為圖片文件。

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

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

華為GT3 Pro和GT4的差異是什么? 華為GT3 Pro和GT4的差異是什么? Dec 29, 2023 pm 02:27 PM

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

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

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

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

“files”本身并不是一個特定的文件類型,而是一個泛指的概念。

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

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

如何使用Java中的Files函數(shù)進(jìn)行文件操作 如何使用Java中的Files函數(shù)進(jìn)行文件操作 Jun 26, 2023 pm 04:21 PM

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

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

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

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

watch4pro和gt各自具有不用的特點和適用場景,如果注重功能的全面性、高性能和時尚外觀,同時愿意承擔(dān)較高的價格,那么Watch 4 Pro可能更適合。如果對功能要求不高,更注重電池續(xù)航和價格的合理性,那么GT系列可能更適合。最終的選擇應(yīng)根據(jù)個人需求、預(yù)算和喜好來決定,建議在購買前仔細(xì)考慮自己的需求,并參考各種產(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ù)航時間是移動設(shè)備體驗的關(guān)鍵,iPad是一個很好的例子。如果您覺得iPad電池消耗速度過快,不用擔(dān)心,在iPadOS17.4中有許多技巧和調(diào)整可以顯著延長設(shè)備的運(yùn)行時間。本深入指南的目標(biāo)不僅僅是提供信息,而是改變您使用iPad的方式,增強(qiáng)您的整體電池管理,并確保您可以在無需充電的情況下更長時間地依賴您的設(shè)備。通過采用此處概述的做法,您朝著更高效、更謹(jǐn)慎地使用技術(shù)邁出了一步,這些技術(shù)是根據(jù)您的個人需求和使用模式量身定制的。識別主要的能量消耗者

See all articles