1,配置php.ini文件
主要對下面幾個屬性值進行設置:
2,預定義變量
列表如下:
創建一個上傳域,通過_FILES變量輸出上傳文件的資料。示例代碼如下:
<form action='' enctype='multipart/form-data' method='post' name='uploadfile'>上傳文件:<input type='file' name='upfile' /><br> <input type='submit' html' target='_blank'>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 來實現。由于我目前的知識有限,會在后面和大家共同學習這個。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答