• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPをやっているのですが少し質問です。現在Ifを使うプログラミングを)

PHPのIf文を使った条件判定についての質問

このQ&Aのポイント
  • PHPを使ってIf文を使い、特定の条件でテキストファイルを呼び出したいと思っています。
  • 条件として、年が1880年から1900年の間で、人口が500万以上または面積が9万以下の場合にテキストファイルを呼び出したいです。
  • 現在、if文の条件を `if (($population < '5,000,000') && ($year =='1880'=>'1920') || ($area > '90,000'))` として試してみましたが、正しく動作しませんでした。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>Yearが1880年から1900年の間 $year>=1800 AND $year <=1900 >Populationが五百万以上 AND $pupulation>=5000000 じゃないの? $populationが文字列で処理するか数値で処理するかは重要なのできちんとキャストして やってください

chirosaku_v
質問者

お礼

助かりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

なんで数値の比較で「' 」を使う?しかも「,」まで使って何がしたい?

chirosaku_v
質問者

お礼

何がしたいかと言われれば上記に書いてある事がしたく、初心者を言い訳にする訳ではありませんが己のコードが酷いのは重々承知です。しかし出来ればその批判よりもアドバイスを頂ければ嬉しかったです。回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • phpプログラミングについて

    php初心者です。 ファイルをダウンロードして保存するプログラムを作成しています。 ダイアログを表示させる形式をとっているのですが、保存されたファイルが正しく開けないんです。 ワードの場合だとファイルが壊れ、テキストファイルの場合、htmlのコードが一緒に入ってしまいます。 以下にソースコードと、ファイルの表示結果も載せるので、アドバイスお願いします。 [download.php] <html> <head> <meta http-equiv = "Content-Type" content = "text/html; charset = UTF-8"> <title>testdownload</title> </head> <body> テキストリンクの場合<br> <a href = "sample.php">sampleファイルをダウンロードする</a> <br><br> フォームボタンの場合<br> <form method = "post" action = "sample.php"><input type = "submit" value = "download"></form> </body> </html> [sample.php] <html> <head> <meta http-equiv = "Content-Type" content = "text/html; charset = UTF-8"> <title>downloadphp</title> </head> <body> <?php $path_file = "./test2.txt"; $path_file = mb_convert_encoding($path_file,"Shift_JIS","AUTO"); /* ファイルの存在確認 */ if (!file_exists($path_file)) { die("Error: File(".$path_file.") does not exist"); } /* オープンできるか確認 */ if (!($fp = fopen($path_file, "r"))) { die("Error: Cannot open the file(".$path_file.")"); } fclose($fp); /* ファイルサイズの確認 */ if (($content_length = filesize($path_file)) == 0) { die("Error: File size is 0.(".$path_file.")"); } /* ダウンロード用のHTTPヘッダ送信 */ header("Content-Disposition: attachment; filename=\"".basename($path_file)."\""); header("Content-Length: ".$content_length); header("Content-Type: application/octet-stream"); /* ファイルを読んで出力 */ if (!readfile($path_file)) { die("Cannot read the file(".$path_file.")"); } ?> </body> </html> [test2.txt] これはテストです。 [ダウンロード後のtest2.txt] <html> <head> <meta http-equiv = "Content-Type" content = "text/html; charset = UTF-8"> <title>downloadphp</title> </head> <body> これはテストです。 </body> </html> 以上、よろしくお願いします。

    • 締切済み
    • PHP
  • 無料ホームページの鯖でPHPでfwrite出来ない

    無料ホームページのサーバに"php"というフォルダをアップし、その中に"write.php", "text.txt","read.php"というファイルを作って実行させたのですが、 "write.php"で、 $file = "text.txt"; $fp = fopen($file, "w"); if ($fp == FALSE) { print "ファイルオープン失敗<br />"; } else { fwrite($fp, $text); fclose($fp); } を実行しても"text.txt"の内容が変わらない(空のまま)のですが、何がいけないのでしょうか? "text.php"のパーミッションは666で、"php"フォルダは707です。 考えられる原因をご教授下さい、お願いします。

    • 締切済み
    • PHP
  • 【PHP】書き込みできません

    PHP5.3の環境でファイル書き込みのロジックがうまくいかずに困っています。 環境は下記の通りです。 Apache 2.2.2 PHP 5.3.3 コードは下記の通りです。 >>CODE $file_path = "/home/xxxxx/logs/test.txt"; echo file_exists($file_path); echo "file_path1=".$file_path; if ( file_exists($file_path) ) { echo "file_path2=".$file_path; // ファイルポインタ取得 if ( ($fp = fopen($file_path, 'a')) !== FALSE ) { // ログは追記 echo "file_path3=".$file_path; // ファイルポインタに書き込み fwrite($fp, $date."\n"); fwrite($fp, $body); fwrite($fp, "----------------------------------------------------\n"); // ファイルポインタクローズ fclose($fp); $flg = true; } } <<CODE 権限は下記の通りです。 logs 777 test.txt 777 現象は下記の通りです。 echo文のfile_path1は表示されます。 echo文のfile_path2及びfile_path3は表示されません。 $file_path="/home/logs/test.txt";に変更すると、 echo文のfile_path1及びfile_path2が表示されます。 echo文のfile_path3は表示されません。 ファイルが存在することはlsで確認したので間違いありません。 権限も777にしているので、何がおかしいのか困り果ててしまい、初めて投稿させて頂きました。 PHPやApacheの設定ファイル等も問題あるのでしょうか。 どうぞご指摘お願いいたします。

  • PHPについて質問です。

    PHPについて質問です。 <?php $lines0 = file('data.txt'); $lines = array_reverse($lines0); foreach ($lines as $line_num => $line) { echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n"; } ?> でファイルの内容は表示することができるようになったのですが、 次に、$linesをテキストエリアに表示させようとすると、Arrayと表示されます。 <textarea name="textarea" cols="50" rows="5" disabled="disabled">$lines</textarea> どうすれば解決できるでしょうか?

    • ベストアンサー
    • 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のプログラミングの事について質問です。

    一行掲示板に投稿者のみが行える投稿削除機能(パスワード付き)を出力させたいのですが、プログラミング初心者なので、下記のテキストに何を入力すればいいのかわからないので教えてください。 お願いします。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>一行掲示板</title> </head> <body> <form id="x1" name="x1" method="post" action=""> <input type="text" id="naiyou" name="naiyou" size="20"> <input type="submit" value="書き込む"> </form> <hr> <?php //データファイルのファイル名 $filename='data.txt'; if(!empty($_POST['naiyou'])){ $data=file_get_contents($filename); $body=$_POST['naiyou']; $date=date('Y/m/d H:i:s'); $body="$body ($date)\n".$data; $fp=@fopen($filename,'w'); flock($fp,LOCK_EX); fputs($fp,$body); fclose($fp); } $data=file($filename); $line=count($data); for($i=0; $i<$line; $i++){ $no=$line-$i-1; echo "$no. $data[$i]<hr>\n"; } ?> </body> </html>

    • 締切済み
    • PHP
  • phpを使いファイル内を検索

    phpでファイル内を検索したいです。 以下のようにphpを書きましたが、やりたいことは1行目から5行目までの中でphpという言葉を検索し6行目から10行目までの中でsnsという文字を検索といったように、行数で分けて検索する言葉も分けたいです。 どのように書いて良いかなどのヒントなどいただけないでしょうか。 $file = dirname(__FILE__) . '/list.txt'; $word = 'php'; if(is_file($file)){ $array = @file( $file, FILE_IGNORE_NEW_LINES); if(in_array($word,$array)){ print_r($word); } } ?>

    • 締切済み
    • PHP
  • phpでftpのアップロードができないのですが・・・

    phpでftpコマンドを使ったアップロードができません。どこが間違っているのでしょうか。 ftpで接続してログインするところまでは間違いなくできているのですが・・・よろしくお願いします。 file.php のフォーム部分 <form enctype="multipart/form-data" action="fileupload.php" method="post"> <input type="FILE" name="File"><br>     <input type="SUBMIT" value="送信">     <input type="RESET" vaiue="取消">     </form> fileupload.php のアップロード処理部分 //アップロード後のファイルの名前を仮にaaa.txtとする $file2 = "/public_html/aaa.txt"; if(isset($_REQUEST["File"])){ $file=$_REQUEST["File"]; } $ftp = ftp_connect($hostname) or die("接続失敗"); ftp_login($ftp,$user,$pass) or die("ログイン失敗"); ftp_put($ftp, $file2 , $file , FTP_ASCII) or die("アップロード失敗");

    • ベストアンサー
    • PHP
  • (PHP)Parse errorの意味

    ●質問の主旨 下記のコードを実行すると readfile('./news_data/news.txt');のところで Parse error: syntax error, unexpected '/' が出ます。 eclipseでもやはり同様のエラーが出ますが、 どこが構文エラーなのか分かりません。 ご存知の方ご教示願います。 ●コード <?php $doc = file_get_contents('./news_data/news.txt'); $doc .="<br />2010-05-02 ニュースを追加"; file_put_contents('./news_data/news.text, $doc); readfile('./news_data/news.txt'); ?>

    • ベストアンサー
    • PHP
  • phpで二重書込みできないプログラムを作りたい

    PHP初心者です。 テキストファイルに、ある文字列を書き込むプログラムを作ろうとしています。 ファイル内容に同じ文字列があれば書き込まず、 同じ文字列が無ければファイルに書き込むという プログラムを作りたいのですが、 うまくいきません。 どなたかアドバイスをお願いします。 <?php $name = "文字列"; $fp = @fopen("file.txt", "r"); $contents = @file_get_contents($fp); if(ereg($name, $contents)) { print "登録済みです。" ; } else { $fpa = @fopen("file.txt", "a"); fputs($fpa, "$name\n"); fclose($fpa); print "登録しました。"; } fclose($fp); ?>

    • 締切済み
    • PHP