0

ユーザーがファイルをアップロードし、そのファイルが保存されてからphpで読み取られるアップロードシステムを作成しました。値はデータベースに挿入されます。すべてが開発サーバーではうまく機能しますが、ライブサーバーでは機能しません。

ライブサイトに別のアップロードシステムがあり、正常に機能しています。別のフォルダにアップロードしてみましたが、うまくいきませんでした。

先日、mimeタイプに問題があったことをご存知でしょう。たとえば、csvファイルをアップロードしましたが、サーバーはそれをテキスト/プレーンドキュメントとして読み取りました。問題にならないように、csvでそれを許可するように構成済みのcodeigniterを構成しました。言及する価値があると思っただけです。

エラー:

PHPエラーが発生しました

重大度:警告

メッセージ:fopen(http://144.119.190.87/designUploads/testing.csv):ストリームを開くことができませんでした:HTTPリクエストが失敗しました!HTTP /1.1401無許可

ファイル名:controllers / 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);
    }
}
4

1 に答える 1

0

助けてくれた2人に感謝します。私が持っている両方のアップロードを比較しているときに問題が見つかりました。結局のところ、fopen()はbase_url()をサポートしていません。私がそれを取り除くと、それはうまくいきました。

于 2012-06-25T17:34:00.230 に答える