PHPでファイルの読み込みエラーが発生する理由

このQ&Aのポイント
  • PHPのファイルの読み込みでエラーが発生する場合、原因はさまざまです。
  • 一般的な原因は、ファイルのパスが間違っている、ファイルが存在しない、またはファイルのパーミッションが適切でないことです。
  • また、コード内のスペルの誤りや文法のエラーなども原因となります。
回答を見る
  • ベストアンサー

PHP

PHPで下のPHPが読み込まれません。なぜでしょうか? <?php: $result = array(); $path = '/etc/cron.d/autopbxrestart'; $handle = fopen($path, 'r'); while(false !== ($line = fgets($handle))){ list($fun, $jikan, $hi, $tuki,$youbi) = explode(' ', $line); $result{0} = $fun; $result{1} = $jikan; $result{2} = $hi; $result{3} = $tuki; $result[4] = $youbi; echo $result{0}; echo $result{1}; echo $result{2}; echo $result[3]; echo $result[4]; fclose($handle); } ?> <php if ($_SERVER['REQUEST_METHOD'] === 'POST') { $erandayoubi = $_POST['youbi']; foreach($erandayoubi as $youbi){ echo ' '. $youbi. '曜日 '; } echo $_POST['jikan']. "jikan".POST['fun']. "分 実行有無:[".$_POST['opt']. "]を設定しました。"; ?>

  • PHP
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6633/9397)
回答No.1

PHPプログラムを含むHTMLファイルをWebサーバに転送し、ブラウザで表示していますか? パソコンのローカルファイルのPHPファイルを表示しようとしても、<?PHP ~ ?>タグは単なるコメントと見なされ、一切動作しません(※)。 ※タグの対応が狂って表示が崩れることがありますが、それはPHPが何らかの動作をした訳ではありません またこのPHPプログラムは、unix系(linux含む)で使われるようなファイル・パス名 '/etc/cron.d/autopbxrestart' が指定されていますが、そのディレクトリにそのフォルダが無ければ動きませんし、Windows系のOSではそもそも /etc/cron.d/ フォルダがありません。 したがってこのPHPプログラムは、 ・linux系のOSで実行されている ・PHPモジュールを組み込んだWebサーバで ・/etc/crond/ フォルダに autopbxrestart ファイルを置いてある という環境でしか動かないものです。 きちんとその環境を用意できたのでしょうか?

akio123
質問者

お礼

ありがとうございます^_^

関連するQ&A

  • PHP

    PHPで書き込みができません。なぜでしょうか? <?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { $erandayoubi = $_POST['youbi']; foreach($erandayoubi as $youbi){ $youbi2=$youbi2.$youbi. ','; } $youbi3 = rtrim($youbi2, ","); $fp = fopen("/etc/cron.d/autopbxrestart", "w"); fwrite($fp, $_POST['opt'] .$_POST['fun']. " " .$_POST['jikan']. " * * " .$youbi3. " root /usr/local/sbin/auto_pbxrestart.pl"); fclose($fp); } ?>

    • ベストアンサー
    • PHP
  • PHP

    PHPで <p>曜日</p> <p> <input type="checkbox" name="youbi[]" value="1" <?php if(strstr($result[4],'1')) echo"checked"; ?>>月 <input type="checkbox" name="youbi[]" value="2" <?php if(strstr($result[4], '2')) echo"checked"; ?>>火 <input type="checkbox" name="youbi[]" value="3" <?php if(strstr($result[4],'3')) echo"checked"; ?>>水 <input type="checkbox" name="youbi[]" value="4" <?php if(strstr($result[4],'4')) echo"checked"; ?>>木 <input type="checkbox" name="youbi[]" value="5" <?php if(strstr($result[4],'5')) echo"checked"; ?>>金 <input type="checkbox" name="youbi[]" value="6" <?php if(strstr($result[4],'6')) echo"checked"; ?>>土 <input type="checkbox" name="youbi[]" value="0" <?php if(strstr($result[4],'0')) echo"checked"; ?>>日 </p> <p>時間</p> <p> <input type="submit" value="設定" /> とやると日曜日を選択してsubmitするとチェックが外れます。なぜでしょうか?

    • ベストアンサー
    • PHP
  • PHP

    PHPで質問があります。funに「無し」を選択すると結果が?になり文字化けします。なぜでしょうか? <select name="fun"> <option vaue="*">無し</option> <option value="1">01</option> <option value="2">02</option> <option value="3">03</option> <option value="4">04</option> <option value="5">05</option> <option value="0">00</option> </select> </p> <input type="submit" value="設定" /> </form> </body> </html> <?php echo $_POST['fun']; echo " "; echo $_POST['jikan']; echo " "; ?>

    • ベストアンサー
    • PHP
  • htmlからphpに値送り

    投稿ボタンを押してデータは送られますが もう一回送ると上書きされてしまい一回目の値がなくなります 保存できる方法を教えてください test.html <form name="iform" action="test.php" method="post"> 企画名:<input type="text" name="kikaku"><br> 開催予定日:<input type="text" name="tuki_1" onblur="NumberCheck();">月 <input type="text" name="hi_1" onblur="NumberCheck();">日~ <input type="text" name="tuki_2" onblur="NumberCheck();">月 <input type="text" name="hi_2" onblur="NumberCheck();">日<br> 企画内容<br> <textarea name="naiyou" rows="4" cols="40"></textarea><br> <input type="submit"alue="投稿" onClick="return Check();"> <input type="reset" value="入力内容をリセットする"> </form> test.php <?php $kikaku = $_POST['kikaku']; $tuki_1 = $_POST['tuki_1']; $hi_1 = $_POST['hi_1']; $tuki_2 = $_POST['tuki_2']; $hi_2 = $_POST['hi_2']; $naiyou = $_POST['naiyou']; print("企画名:$kikaku<br/><br/>"); print nl2br("$naiyou<br/><br/>"); print("$tuki_1 月 $hi_1 日~ $tuki_2 月 $hi_2 日"); ?> もうひとつ悩みがあり 投稿すると新しい記事ができる仕組みについても 教えてほしいです ・新しい記事 ・新しい記事 こういった感じにできないでしょうか

  • PHPでの変数引渡しに関して

    "HTML -> PHP1 -> PHP2"という順序で変数の引渡しを行いたいと考えております。 "HTML -> PHP1"への変数引渡しは正常なのですが、"PHP1 -> PHP2"への変数引渡しがうまくいかない状態です。 1) "HTML -> PHP1" ・HTML <form name="toroku" method="POST" action="result.phtml">  <input type="text" name="word1" size="34"></td></tr>  <input type="text" name="word2" size="34"></td></tr>  ・・・・ </form> ・PHP1(result.phtml) <? require('../include/init.inc'); $word1 = $_POST{'word1'}; $word2 = $_POST{'word2'}; $word3 = $_POST{'word3'}; $email = $_POST{'word7'}; $word8 = $_POST{'word8'}; $seireki = $_POST{'seireki'}; $tuki = $_POST{'tuki'}; $nitiji = $_POST{'nitiji'}; $result = pg_query($con, "select .........."); $rows = pg_num_rows($result); var_dump($HTTP_POST_VARS); ?> <FORM action="./result2.phtml" method="post"></FORM> ・結果 array(8) { ["word1"]=> string(6) "テスト"       ["word2"]=> string(6) "テスト"       ["word3"]=> string(6) "テスト"       ["word7"]=> string(16) "test1@test.co.jp"       ["word8"]=> string(16) "test1@test.co.jp"       ["seireki"]=> string(4) "2008"       ["tuki"]=> string(2)"01"       ["nitiji"]=> string(2) "01" } 2) "PHP1 -> PHP2" ・PHP2 <? var_dump($HTTP_POST_VARS); ?> ・結果 array(0) { } 2)でHTMLの変数を継続して渡したいのです。 ご存知のかたがいたしたら、ご教示頂ければと思います。

    • ベストアンサー
    • PHP
  • 続・指定した時間にPHPプログラムを実施

    お世話になります。 http://oshiete1.goo.ne.jp/qa3423046.html にて質問させて頂いたのですが、追加で以下の質問をさせて頂きたく思います。ぼやけた質問ですので、こういう感じでどうでしょうというアドバイスでも頂ければ幸いでございます。 で、前回アドバイスいただきました事項を参考にさせて頂いて、 DBにて各情報を管理して、メール送信のプログラムはPHPをCRONにて動作させようと考えました。 ・メール関連DBテーブル  -> IDを一意の値として管理する。 postgres=# select * from mail_gen; id | seireki | tuki | nitiji | jikan | word1 | ----+---------+------+--------+-------+-----------------+ 31 | 2008 | 01 | 01 | 00 | メール内容 | id | integer | not null default nextval また、HTMLからメール関数の変数を引き継いだ際に、DBでデータ挿入以外にも、日時データをテキストファイルで追加するようにして、 <? require('../include/init.inc'); $seireki = $_POST{'seireki'}; $tuki = $_POST{'tuki'}; $nitiji = $_POST{'nitiji'}; $jikan = $_POST{'jikan'}; $word1 = $_POST{'word1'}; $sql = "insert into mail_generator (seireki,tuki,nitiji,jikan,word1,word2,word3) values ('$seireki','$tuki','$nitiji','$jikan','$word1');"; pg_query("$sql"); $fhn = fopen("./at.txt","a"); fwrite($fhn,$seireki); fwrite($fhn,"-"); fwrite($fhn,$tuki); fwrite($fhn,"-"); fwrite($fhn,$nitiji); fwrite($fhn," "); fwrite($fhn,$jikan); fwrite($fhn,":00"); fwrite($fhn,"\n"); fclose($fhn); ?> ご教示頂いたことを参考にして、at.txtで時間が一致した時に、 指定したメール送信関数を起動させようと思ったのですが、 $now = date("Y-m-d H:i"); $atfile = "at.txt"; $atarr = file($atfile);  if(count($atarr)>0){   foreach($atarr as $at){    if($at == $now) mySendMail();   }  } ・at.time # more attime.txt 2008-01-01 00:00 2008-01-01 00:00 メール送信されるトリガーで、日時の条件だけでは条件として一意ではないため、IDと一致する条件も加えたいと考えております。 なにかうまい?方法はないでしょうか。

    • ベストアンサー
    • PHP
  • PHP

    PHPでFunctionで配列の渡し方が間違っています。$arr['opt']などの書き方をどうやって変えればいいですか? $arr = array( 'opt' => $_POST['opt'], 'nminute' => $_POST['nminute'], 'nhour' => $_POST['nhour'], 'days' => $days ); function OpenWrite($arr){ /* クーロンのパス */ $path = '/etc/cron.d/auto_pbxrestart'; try{ /* クーロンファイルに書き込む */ $fpt = fopen($path , 'w'); if ($fpt == false) { $message = "このファイルには書き込みできません。<br>\n"; } /* 実際にクーロンに書き込みする(「* *」は月日なので今回は設定対象にならない)*/ $cron_config = $arr['opt'] . $arr['nminute'] . " " . $arr['nhour'] . " * * " .$arr['days'] . " root /usr/local/sbin/auto_pbxrestart.pl"; fwrite($fpt , $cron_config); fclose($fpt); return $message; }catch (Exception $e){ echo "例外処理が発生しました"; } }

    • ベストアンサー
    • PHP
  • 指定した時間にPHPプログラムを実施

    以下、メール送信のプログラムがあるのですが、 ATコマンドのようなものを使用して、指定された時間にPHPのメール送信プログラムが動作するようにしたいと考えています。無理でしょうか。 ## `at -t $seireki$tuki$niti$jikan` とかで可能?? 指定した時間にPHPプログラムを実施する良い方法があれば、ご教示頂けければと思います。ぼやけた質問で申し訳ありません。 <? ## PHP Version5のため、変数の事前定義。 $email = $_POST{'email'}; $word1 = $_POST{'word1'}; $word2 = $_POST{'word2'}; $word3 = $_POST{'word3'}; $seireki = $_POST{'seireki'}; $tuki = $_POST{'tuki'}; $niti = $_POST{'niti'}; $jikan = $_POST{'jikan'}; ## 以下、メール送信 $mail_to = "$email"; $mail_from = "test@test.co.jp"; $mail_bcc = "test@test.co.jp"; $mail_from_title = mb_encode_mimeheader("TEST___")."<".$mail_from.">"; $mail_xmailer = "PHP-" . phpversion(); $mail_subject = mb_encode_mimeheader("TEST"); $mail_body = $mail_body . "\n"; $mail_body = $mail_body . "\n"; $mail_body = $mail_body . "\n"; $mail_encode = "EUC-JP"; $mail_body = mb_convert_encoding($mail_body, $mail_encode); $mail_header_array["X-Mailer"] = $mail_xmailer; $mail_header_array["From"] = $mail_from_title; $mail_header_array["Bcc"] = $mail_bcc; foreach($mail_header_array as $key => $value){ $mail_header .= $key . ": " . $value . "\r\n"; } $mail_result = @mb_send_mail($mail_to, $mail_subject, $mail_body, $mail_header, "-f" . $mail_from); if(!$mail_result){ die("メールを送信できません\n"); } ?>

    • ベストアンサー
    • PHP
  • phpのプログラミング

    phpの事について質問があります。 画像をアップロードしてデーターベースに画像のパスを入れるプログラミングに挑戦中なのですが、 うまくいかないので詳しい方アドバイスお願い致します 作っているプログラミングの流れは 1の画面で画像選択とコメントの入力 2の画面で画像の確認とコメントの確認 3の画面で『登録しました』の文言の表示とサーバへの書き込み (今回は3の画面では確認の為echo文で飛んでいるかどうかの確認のみ行っております) ちなみにアップロードはうまくいっており、uploadsというディレクトリーを作ってそこに画像をUPしております を考えているのですが、 2画面でinput typeのhiddenを使ってコメントと画像のパスを3の画面に飛ばそうと思っているのですが、 コメントは3の画面に飛んでいるのに、画像のパスが3の画面に飛んでないみたいです、画像のパスはinput typeのhidden で飛ばす事は出来ないのでしょうか? プログラミング以下のような感じです 2の画面 confirm.php <!DOCTYPE html> <html> <head> <meta charset=UTF-8" /> <title>確認画面</title> </head> <body> <h3>以下の内容で登録しますか?</h3> <?php $message=$_POST['message']; ?> <form action="entry.php" method="POST" enctype="multipart/form-data"> <input type="hidden" name="message" value="<?php echo $message; ?>"> <input type="hidden" name="upload_name" value="<?php echo $upload_name; ?>"> メッセージ <?php echo $message;?><br /> 画像 <?php $file_name = $_FILES['filename']['name']; $file_type = $_FILES['filename']['type']; $temp_name = $_FILES['filename']['tmp_name']; $dir ='uploads/'; $upload_name = $dir.$file_name; $result = move_uploaded_file($temp_name,$upload_name); ?> <br /> <?php if($result){ echo'■アップロード成功'; $image_size =getimagesize($upload_name); } else{ echo'■アップロード失敗'; } ?> <?php echo $upload_name;?> <input type="submit" value="登録する"> </form> </body> </html> 3の画面 entry.php <!DOCTYPE html"> <html> <head> <meta charset=UTF-8> <title>登録画面</title> </head> <body> <?php echo $_POST['message']; ?> <?php echo $_POST['upload_name']; ?> </body> </html>

    • ベストアンサー
    • PHP
  • phpからサーバー上のcronにジョブ登録したい

    プログラミング初心者です。 【ウェブブラウザでphpファイルを開くと、レンタルサーバーのcronにジョブ登録される】ようにしたいのですが、上手く行きません。 下記記述に不備はありますでしょうか? <?php $cron = popen("/usr/bin/crontab -", "w"); $line = "51 22 13 11 * /usr/bin/php /home/userid/public_html/絶対パスでファイルの場所/ファイル.php"; fwrite($cron, $line); pclose($cron); ?> ※テストとして 11/13 22:51 に実行するような記述をしていました。 諸々検索もしたのですが、レンタルサーバー上にphpでジョブ登録するような事例がなく… お力添えください。宜しくお願い致します。

    • 締切済み
    • PHP

専門家に質問してみよう