0

画像を /img にアップロードする「do_upload」メソッドを持つコントローラーがありますが、代わりに次のエラーが発生します。

http://localhost/img/

アップロード パスが有効ではないようです。

アップロードクラスのメソッドです。

public function do_upload(){

        $config['upload_path']= "http://localhost/img/";
        $config['allowed_types']= 'gif|jpg|png';
        $config['max_size']='100';
        $config['max_width']='1024';
        $config['max_height']='768';


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

        if(!$this->upload->do_upload()){
            $errors=array('errors'=>$this->upload->display_errors());
            echo $config['upload_path'];
            $this->load->view('error',$errors);
        }

        else{

            $data=array('upload_data'=> $this->upload->data());

            $this->load->view('admin/admin');
        }
    }

ファイルのアクセス許可は次のように設定されています (これが機能することをテストするためです!)。

drwxrwxrwx

ただし、ブラウザをリダイレクトするhttp://localhost/img/と、ディレクトリの内容を表示できるので、権限の問題ではないと思います。私が間違っていることはありますか?

4

4 に答える 4

4

lanzzが言ったように、試してください

$config['upload_path']= APPPATH;

また

$config['upload_path']= APPPATH.'img/';

ファイル管理とブラウザ アドレスが同一になることはめったになく、localhost と同一になることはありません。

編集:可能なパスについては、他の回答を参照してください。ほとんどの場合、 を使用することをお勧めしますFCPATH

于 2012-06-04T12:57:01.387 に答える
3

URL にアップロードすることはできません。$config['upload_path']サーバー上のファイルシステムの場所へのパスである必要があります。

于 2012-06-04T12:45:48.387 に答える
1

私は数時間同じ問題に直面しました。

問題は、構成で指定されたファイル パスに関するものです。手動で絶対パスに変更しました。WAMPで働いていました。私のプロジェクトディレクトリは「rmp」です。構成ファイルパスを次のように使用した場合、

  $_SERVER['DOCUMENT_ROOT'].'rmp/uploads/';

すべて正常に動作します。正確な問題が何であるかわかりません。しかし、これで私の解決策が修正されました。乾杯!!!:)

解決策 2: ちょっとした作業を行ったところ、CI が既定でプロジェクト フォルダーをターゲットにしていることがわかりました。したがって、アップロード フォルダー名として img がある場合は、それがアプリケーション、システムと並行して codeigniter のルートにあることを確認してください。

お気に入り、 ROOT/yourcodeigniterproject/img

その場合'img/'は、アップロードパスとして指定してください。正常に動作します。

于 2013-06-17T08:29:33.667 に答える