2012-06-25 157 views
0

我做了一個上傳系統,用戶上傳一個文件並保存該文件,然後通過php讀取。這些值被插入到數據庫中。整個事情在開發服務器上效果很好,但不在活動服務器上。錯誤:HTTP/1.1 401未授權

我有另一個上傳系統在現場,工作正常。我試着將它上傳到一個不同的文件夾,但那也不管用。

就這樣,你知道有一天我有mime類型的問題。因此,例如我上傳了一個csv文件,但服務器將其作爲文本/純文檔讀取。我配置了配置的codeigniter以允許csv的這樣不應該成爲問題。只是覺得值得一提。

錯誤:遇到

一個PHP錯誤

嚴重性:警告

消息:FOPEN(http://144.119.190.87/designUploads/testing.csv):未能打開流: HTTP請求失敗! HTTP/1.1 401未授權

文件名:控制器/ headquarters.php

行號:682

====================== ============================ PHP:

public function importDesign() { 
    // setting config options 
    $config['upload_path'] = './designUploads/';   
    $config['allowed_types'] = 'csv';  
    $config['overwrite'] = 'true';  

    // loading upload library 
    $this->load->library('upload', $config); 

    // write errors to view file 
    $error = ''; 
    if (!$this->upload->do_upload('userfile')) { 
     $this->upload->delete($lastId); 
    } else { 
     $data = array('upload_data' => $this->upload->data());  
    } 

    $fileData = $this->upload->data(); 
    $name = $fileData['file_name']; 

    Line 680 ---> if (($handle = fopen(base_url('designUploads/'. $name), "r")) !== FALSE) { 
     while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
      $query = $this->db->query(' 
       UPDATE rollout_systems 
       SET Mig_type = "'. $data[2] .'", 
        hardw_destination = "'. $data[3] .'", 
        new_model = "'. $data[4] .'", 
        new_system = "'. $data[5] .'", 
        Mig_Class = "'. $data[6] .'" 
       WHERE sys_name = "'. $data[0] .'" 
       AND EAM_User = "'. $data[1] .'" 
      '); 

      if ($query) { 
       redirect('headquarters/migrationDetails'); 
      } 
     } 
     fclose($handle); 
    } 
} 
+0

401響應由您連接的服務器生成,而不是由您自己的代碼生成。假設服務器需要某種身份驗證才能爲您提供該文件。 – geoffspear

+0

你確定它沒有在代碼中? –

+0

如果您在瀏覽器中導航到http://144.119.190.87/designUploads/,會發生什麼情況? –

回答

0

感謝你們兩個是試圖幫助。在比較我有代碼的上傳時發現問題。事實證明,fopen()不支持base_url()。一旦我擺脫了它的工作。