2017-01-27 13 views
0

私は私のコントローラのコードをファイルのJSONにアクセスし、wirteへのfopen使用するには、私は、全体のパスを書きましたが、それは誤りcodeigniterでサーバーが動作していませんか?

fopen(base_url().'assets/global/plugins/fullcalendar/demos/json/events.json', "r") or die("Unable to open file!"); 

に私にエラー外観を与える冒頭でこの

$this->data['date'] = $this->issue_model->get_date(); 
     $this->data['com'] = fopen("assets/global/plugins/fullcalendar/demos/json/events.json", "r") or die("Unable to open file!"); 
     $txt = json_encode($this->data['date']); 
     fwrite($this->data['com'], $txt); 

のようなものです

警告:この

A PHPエラーが

重要度に遭遇したように

メッセージ:のfopen():php_network_getaddresses:失敗のgetaddrinfo:コントローラー/ welcome.php

行番号:45

問題はうまく私のウェブサイトの仕事である名前またはサービスが

ファイル名を知られていません私のlocalhostでは、私はそれを私のサーバーにアップロードしたときにファイルにアクセスし、それに書き込みません

誰か私のコードに間違っていることを教えていただけますか?

+0

localhostで動作する場合は、おそらくサーバーにパスの問題があります。 'base_url()'の値は何ですか? – AnthonyB

+0

http://legal.sunrise-resorts.com/ –

+0

base_url()の後に '/'を追加しますか?そうでない場合、 'assets /'はあなたのドメイン名に触れます。 – AnthonyB

答えて

1

この問題は、ご使用のサーバーのディレクトリアクセス権に関連しています。すべての まずディレクトリのパーミッションを確認してください。

-d、--directory リストディレクトリエントリの代わりの内容、およびシンボリックリンク

デリファレンスしないでください。

$ ls -ld directory 

は、ここでそれが何をするかですLinuxの

Proの

//書き込み権限がない場合は書き込み権限を与えてください。

+0

実際には、書き込み権限が必要です。 Linuxでは、 'rwxrwxrwx'(rは読み込み、wは実行、xは実行)のようなものを使うことができます。ここで、各文字は、権利が許されていなければ' -'で置き換えられます。サーバーユーザー(Debian/Ubuntu上でApacheを使用している場合はwww-data)には書き込み権(w)が必要です。それ以外の場合は、ディレクトリに書き込めませんでした。 – AnthonyB

+0

のjsonファイルに既に書き込み権限があります か、アセットディレクトリに書き込み権限を与えることを提案していますか? –

+1

@ HanyHesham jsonファイルを作成するには、json /ディレクトリに対する書き込み権限が必要です。 – AnthonyB

関連する問題