2012-03-06 57 views
0

試圖讓人們上傳文件到本網站。當我嘗試時出現錯誤。讓我知道你的想法。用笨林的方式無法上傳文件選項

===== HTML =====

<div id="upload"> 
    <form enctype="multipart/form-data" action="<?=current_url()?>" method="POST"> 
     <input type="hidden" name="MAX_FILE_SIZE" value="100000" /> 
     Choose a file to upload: <input name="uploadedfile" type="file" /> 
     <br /> 
     <input type="submit" value="Upload" /> 
    </form> 
    <p><?=$uploadResult?></p> 
</div> 

===== PHP =====

if ($this->input->post()) { 
     $target_path = "../../uploads/"; 
     $target_path = $target_path .basename($_FILES['uploadedfile']['name']); 

     if (move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { 
      $uploadResult = "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded"; 
     } else { 
      $uploadResult = "There was an error uploading the file, please try again!"; /* <---- Error I get */ 
     } 
    } else { 
     $uploadResult = 'didnt work at all'; 
    } 

    echo $uploadResult; 

    $this->data['uploadResult'] = $uploadResult; 

==== =遇到ERROR =====

甲PHP錯誤 嚴重性:警告 消息:move_uploaded_file(../../上傳/ notes_USH.odt):未能打開流:沒有這樣的文件或目錄 文件名:controllers/discovery.php 行號:158

+0

如果失敗,你應該得到一個錯誤或警告,它/他們說什麼?另外,由於您使用的是CodeIgniter,因此您可能需要查看http://codeigniter.com/user_guide/libraries/file_uploading.html – Tjkoopa 2012-03-06 23:04:13

+0

添加了錯誤 – 2012-03-06 23:56:49

+0

我嘗試使用其上傳的東西並且無法使其工作 – 2012-03-07 00:11:16

回答

0

好吧,所以這是一個有點晚,但我只是用codeigniters的東西重塑整個事情,經過一些修改後,我得到它的工作。

0

確保目錄「../../uploads/」存在,並且您有寫入權限。 PHP不會爲你創建這個。

此外,CodeIgnter有一個類來處理文件上傳(可能是有用的)。你可以在docs中看到這個。

+0

難道它不工作,因爲我沒有使用codeigniter類? – 2012-03-07 21:54:11

+0

@DylanButh不,代碼Iginiter是PHP,所以所有原生函數都可以工作。我提到它是因爲這個類有你可以使用的工具,例如文件類型的驗證。 – 2012-03-08 16:50:23