php開發之檔案上傳,

來源:互聯網
上載者:User

php開發之檔案上傳,

1,配置php.ini檔案
主要對下面幾個屬性值進行設定:


2,預定義變數
列表如下:

建立一個上傳域,通過_FILES變數輸出上傳檔案的資料。範例程式碼如下:

<form action="" enctype="multipart/form-data" method="post" name="uploadfile">上傳檔案:<input type="file" name="upfile" /><br> <input type="submit" value="上傳" /></form> <?php if (is_uploaded_file($_FILES['upfile']['tmp_name'])) {    $upfile =$_FILES["upfile"];    foreach ($upfile as $value) {        echo $value."<br>";    }}?>

運行結果如下:

3,檔案上傳函數
php中使用move_uploaded_file()函數上傳檔案,文法如下:
bool move_uploaded_file(string filename,string destination)
該函數將檔案上傳到指定的位置,如果成功則返回true,失敗則返回false。參數filename,事臨時檔案名稱,即$_FILE[tmp_name];參數destination是上傳後儲存的新的路徑和名稱。

範例程式碼如下:

<form action="" enctype="multipart/form-data" method="post" name="uploadfile">上傳檔案:<input type="file" name="upfile" /><br> <input type="submit" value="上傳" /></form> <?php if (is_uploaded_file($_FILES['upfile']['tmp_name'])) {    $upfile =$_FILES["upfile"];    if (move_uploaded_file($upfile['tmp_name'], $upfile['name'])) {        echo "上傳成功";    }else{        echo "上傳失敗";    }}?>

運行結果如下:

4,多檔案上傳
多檔案上傳有多種方法,下面我們根據單檔案上傳來演化出一種多檔案上傳。程式碼範例如下:

<form action="index.php" enctype="multipart/form-data" method="post" name="uploadfile">上傳檔案:<br> <input type="file" name="upfile1" /><br><input type="file" name="upfile2" /><br><input type="file" name="upfile3" /><br><input type="submit" value="上傳" /><br> </form> <?php //  header('Content-Type:text/html;charset=utf-8');$file1 =$_FILES['upfile1'];$file2 =$_FILES['upfile2'];$file3 =$_FILES['upfile3'];if ($file1['error'] == UPLOAD_ERR_OK){    echo "路徑:".$file1['name']."<br>";    if (move_uploaded_file($file1['tmp_name'], $file1['name'])) {        echo "上傳成功<br>";    }else{        echo "上傳失敗<br>";    }}if ($file2['error'] == UPLOAD_ERR_OK){        echo "路徑:".$file2['name']."<br>";        if (move_uploaded_file($file2['tmp_name'], $file2['name'])) {            echo "上傳成功<br>";        }else{            echo "上傳失敗<br>";        }}        if ($file3['error'] == UPLOAD_ERR_OK){            echo "路徑:".$file3['name']."<br>";            if (move_uploaded_file($file3['tmp_name'], $file3['name'])) {                echo "上傳成功<br>";            }else{                echo "上傳失敗<br>";            }        }   ?>

運行結果如下:

第二種多檔案上傳的方式的範例程式碼如下:

<form action="index.php" enctype="multipart/form-data" method="post" name="uploadfile">上傳檔案:<br> <input type="file" name="upfile[]" /><br><input type="file" name="upfile[]" /><br><input type="file" name="upfile[]" /><br><input type="submit" value="上傳" /><br> </form> <?php //  header('Content-Type:text/html;charset=utf-8');$filearray =$_FILES['upfile'];print_r($filearray);foreach ($filearray['error'] as $key =>$error){    if ($error==UPLOAD_ERR_OK) {        echo "檔案名稱:".$filearray['name'][$key]."<br>";        if (move_uploaded_file($filearray['tmp_name'][$key], $filearray['name'][$key])) {            echo "上傳成功<br>";        }else{            echo "上傳失敗<br>";        }    }}?>

運行結果如下:

除了上面的兩種,還有第三種多個檔案上傳的方式,當然也是我覺得最完美的方式,就是可以一次選擇多個檔案進行上傳。主要就是利用swfupload 來實現。由於我目前的知識有限,會在後面和大家共同學習這個。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.