文件上傳能否成功要看你的寫文件目錄是否可用,表單與post獲取的名是不是相同,以及php.ini中上傳文件大小是不是在你可寫范圍之內,下面是一個完整的php文件上傳實例.
html代碼如下:
- <html>
- <body>
- <form action="upload_file.php" method="post" enctype="multipart/form-data">
- <label for="file">filename:</label>
- <input type="file" name="file" id="file" />
- <br />
- <input type="submit" name="submit" value="submit" />
- </form>
- </body>
- </html>
php代碼如下:
- <?php
- $store_dir='d:upload'; //文件上傳后存儲在服務器的路徑
- $uploadfile="$store_dir".basename($_files['sendfile']['name']); //上傳文件的原始名字
- $uploadfile_tmp=$_files['sendfile']['name_tmp']; //上傳文件的臨時名字
- $err_msg=$_files['sendfile']['error']; //上傳文件時產生的錯誤信息
- if ($err_msg){
- print "錯誤代碼: $err_msg<br/>";
- }
- if (!is_writeable($store_dir)){ //檢查上傳的文件是否可寫
- print "$store_dir 目錄不可寫n";
- exit;
- }
- else{
- print "$store_dir 目錄可寫n";
- }
- if(isset($_files['sendfile'])) {
- if(is_uploaded_file($uploadfile_tmp)){ //檢查上傳的文件是否存在,如果存在則對其進行下一步操作
- print "文件檢驗成功n";
- }
- else {
- print "文件檢驗失敗,可能遭受文件上傳攻擊!";
- exit;
- }
- if (move_uploaded_file($uploadfile_tmp,$uploadfile)) { //對上傳的合法文件,將其重命名并移動到服務器的上傳文件夾中
- print "文件上傳成功n";
- }
- else{
- print "移動文件失敗,可能遭受文件上傳攻擊!";
- exit;
- }
- print "文件上載成功!<br/>";
- }
- else{
- print "文件上載失??!<br/>";
- }
- ?>
新聞熱點
疑難解答