public function save(){
$currentPage = $_SESSION['current_page'];
$content = $this->input->get_post("page_content"); // html content
$path = $this->paths('pages');
$page = $this->pages->db_get(array("id"=>$currentPage), true);
//echo $path . $page['filename'];
if(!is_dir($path)){
$fileHandle = fopen($path . $page['filename'] , 'w');
if(!fwrite($fileHandle, $content)) {
$this->errors[] = "Error saving page";
}
fclose($fileHandle);
}
echo json_encode($this->errors);
}
私は、ファイルに文字列として書き込むJAX POST要求を使ってHTMLソースファイルを受け取ります。 コメント行は、サーバに存在する* /home/sajt/public_html/application/data/users/[email protected]/websites/kobra/pages/glavna.php*をエコーします。私は信じて、$ path、$ page、$ contentが$パスをエコーしてから正しい値を持つことを確認しました。 $ page ['filename']はファイルへの有効なパスを返しますが、何も起こらない、つまり何も書き込まれていません。 ここには何が欠けていますか?ファイルに文字列としてhtmlソースを書き込もうとしているときにFwriteは何もしません。
親ディレクトリのパーミッション:
drwx------ 5 sajt sajt 4096 Aug 9 04:20 .
drwx------ 3 sajt sajt 4096 Aug 9 04:20 ..
drwxr-xr-x 2 sajt sajt 4096 Aug 9 04:20 header
drwxr-xr-x 2 sajt sajt 4096 Aug 9 04:20 pages
drwxr-xr-x 2 sajt sajt 4096 Aug 9 04:20 uploads
ディレクトリ "ページ" 権限:
drwxr-xr-x 2 sajt sajt 4096 Aug 9 04:20 .
drwx------ 5 sajt sajt 4096 Aug 9 04:20 ..
-rw-r--r-- 1 sajt sajt 0 Aug 9 13:20 glavna.php
-rw-r--r-- 1 sajt sajt 1450 Aug 9 04:20 kontakt.php
をしたいあなたは、ファイル/フォルダのアクセス許可を確認しましたか? localhostまたはウェブサーバーでスクリプトを実行していますか? – yoda
そのディレクトリへの書き込み権限がありますか? – Quasdunk