PHP超初心者です。
参考本に書いてあるとおり、以下のアクセスログを作りました。
<html>
<head><title>Access Log</title></head>
<body>
<?php
print(date("Y/m/d H:i:s")."<br/>\n");
print("<p> access log:</p>\n");
$filepointer=fopen("./log/php-accesslog","a+");
flock($filepointer,LOCK_EX);
fputs($filepointer,date("Y/m/d H:i:s").$_SERVER["REMOTE_ADDR"]."\n");
flock($filepointer,LOCK_UN);
rewind($filepointer);
while(!feof($filepointer)){
$fileline=fgets($filepointer);
print($fileline."<br/>");
}
fclose($filepointer);
?>
</body>
</html>
で、開いてみると、
2007/01/24 12:51:00
access log:
というふうにアクセスログが出るのですが、そのあとに
Warning: fopen(./log/php-accesslog) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\php10\accesslog.php on line 7
のような、warningがとめどなくズラーっと表示されてしまいます。
この意味と対処法がありましたらおしえてください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
もしかして
$filepointer=fopen("./log/php-accesslog","a+");
の部分の意味が理解できてませんか?
fopen関数は、ファイルをオープンする関数です。
http://jp2.php.net/manual/ja/function.fopen.php
ファイル名を
"./log/php-accesslog"
で指定していますので、
カレントディレクトリ(./)の下の
logディレクトリ(log/)の下に
php-accesslogというファイル名で
オープンしようとします。
ここでいうカレントディレクトリとは
このスクリプトが置かれているディレクトリです。
"a+"が指定されているので、ファイルが無ければファイルを作ろうとします。
ただし「ファイルを作る」だけでディレクトリを作る訳ではありません。
エラー内容から判断すると、恐らくは
このスクリプトが置かれているディレクトリに
log
というディレクトリが無いのでしょう。
(Windowsのようなのでディレクトリ=フォルダと同意です)
ご回答ありがとうございます。
できました!
logというフォルダを作っていませんでした。
おっしゃるとおり、意味がわかってませんでした。
とても勉強になりました!
わかりやすいご回答ありがとうございました。
No.1
- 回答日時:
わかりやすく意訳すると
警告:
C:\Program Files\Apache Group\Apache2\htdocs\php10\accesslog.php の7行目に
$filepointer=fopen("./log/php-accesslog","a+");
と指定されたけど、そんなファイル(またはディレクトリ)は見付からないので開けませんでした。
ということです。PHPの「Warning」は「動作が中断されるほど深刻なエラーではないが、問題になりそうな処理がありますよ」という警告文で、比較的単純な英語で書いてあります。
WarningやFatal Errorが出るたびに質問していてはキリがないと思うのでご自分でエラーメッセージを読めるようになることをおすすめします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP php エラー 2 2022/10/23 16:43
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PEAR::Authでディレクトリ毎に...
-
JAVA内で複数のファイルを削除...
-
FTPコマンドでディレクトリごと...
-
Smartyのtemplatesとtemplates_...
-
絶対パス?絶対アドレス?意味...
-
grep 正規表現の扱い方 特定の...
-
renameでのPermission deniedエ...
-
CFileDialogの最初のディレクト...
-
onedrive にexcelファイルをア...
-
Illustratorで文字と画像を流し...
-
拡張子php画像をjpg画像等に変...
-
one drive のアップロード失敗...
-
URLの変わらないページをPHPで...
-
imgタグでのphpの呼び出しについて
-
URLが.PHPってどういう...
-
データ送信をボタンを押さずに...
-
AccessのDoCmd.SendObjectについて
-
LinuxでのPHP、Configure Comma...
-
PHPにてC言語プログラムを呼び...
-
<img src=~.php>へのデータの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチを用いたフォルダの自動移動
-
CFileDialogの最初のディレクト...
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
【BAT(バッチ)ファイル】Web...
-
現在位置より2つ上のディレク...
-
makefile でファイルをコピーす...
-
fopenでファイルが開かない場合...
-
MkDir関数
-
visualstudioでc#のdllができない
-
絶対パス?絶対アドレス?意味...
-
DLL のロードの順序
-
includeが出来ない訳とは?
-
VB.NET 最下位のディレクトリ名...
-
rmdirでフォルダが消せません
-
ファイル選択ダイアログで選択...
-
C言語でのディレクトリ作成につ...
-
aspのページが表示できません
-
バッチファイルで特定ファイル...
-
ディレクトリの正規表現について
おすすめ情報