PHP にディレクトリへの書き込み権限を与えるにはどうしたらよいですか?
質問
PHPを使ってファイルを作成しようとしているのですが、うまくいきません。これは、書き込みアクセス権を持っていないためだと推測しています (以前から常に問題でした)。これが問題なのかどうか、フォルダを chmod 0777 にして試してみましたが、これを元に戻すまで、そのディレクトリのすべてのスクリプトが 500 エラーメッセージを返してしまうという結果になりました。 どうすればPHPにファイルシステムへの書き込み権限を与え、ファイルを作成できるようになるのでしょうか?
編集: Apacheを使用してHostgator共有ホスティングでホストされています。
編集2:ある人がコードを求めてきました。 コードはGDイメージスクリプトです。以前は、呼び出されるたびに画像を作成していたので、それの残りの部分が動作することを知っています。今私は新しいテキストが追加されたときにそれらを作成し、フォルダにそれらを保存しようとしています。私が持っている書き込み行は次のとおりです。 imagejpeg(null,$file,85)です。
私はまた、それが単に壊れたスクリプトであるかどうかを確認するためにテストファイルを作成しました(主にtizagからコピーしたものです)。 http://gearboxshow.info/rkr/lesig.jpg/testfile.txt (ここにコードを適切に掲載できるかどうか/方法はわかりません。以下は、PHPタグを除いたPHPスクリプトの内容です)。
13,13,1(別々の行)を返すので、何か書いたつもりのようですが、testfile.txtは空白(空白をアップロードした)、または存在しない(削除した場合)になっています。
編集3:サーバーはCentOSを使用しています。
どのように解決するのですか?
簡単な方法は、PHPが最初にディレクトリ自体を作成するようにすることです。
<?php
$dir = 'myDir';
// create new directory with 744 permissions if it does not exist yet
// owner will be the user/group the PHP script is run under
if ( !file_exists($dir) ) {
mkdir ($dir, 0744);
}
file_put_contents ($dir.'/test.txt', 'Hello File');
これでパーミッションの手間が省けます。
関連
-
[解決済み】新しいPHPMailerはPHPMailerAutoload.phpが必要?
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] Git にファイルモード (chmod) の変更を無視させるには?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] PHPのエラーを表示させるにはどうしたらいいですか?
-
[解決済み] php.iniはどこにありますか?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Notice: 非オブジェクトのプロパティを取得しようとしているエラー
-
[解決済み】XAMPPポート80をPID 4の「Unable to open process」が使用中 [重複] XAMPPポート80をPID 4の「Unable to open process」が使用中。]
-
[解決済み】接続の取得に失敗しました: php_network_getaddresses: getaddrinfo failed: 名前またはサービスが不明
-
[解決済み】空の配列要素を削除する
-
[解決済み] $wpdb->update または $wpdb->insert を実行すると、引用符の前にスラッシュが追加される
-
[解決済み] [Solved] Fatal error: 非オブジェクトのメンバ関数fetch_assoc()の呼び出し [重複]。
-
phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み】mysqli::query(): mysqli をフェッチできない
-
[解決済み】phpのシンタックスエラー、予期しないT_IFエラーを修正する方法は?[クローズド]。