検索結果
PHP
- 全てのカテゴリ
- 全ての質問
- IIS/PHPのサイトでたまにCGIエラーが出ます
ISS6.0上で、PHPで作成したイントラサイトを運用しています。 サイトを閲覧していると、たまに以下のエラーが表示されてしまいます。 CGIerror The specified CGI application misbehaved by not returning a complete set of HTTP headers. サイトを開いた時に初めから表示されることもあれば、最初は普通に見れていたのにページを遷移しようとしたときに突然表示されることもあります。 エラーが出たときは、F5キーを1回または複数回押したり、Ctrl+F5で正常に表示されるようになったりします。 経緯として、サイトを立ち上げてしばらくは問題なく閲覧できていたのですが、少し前にIISの設定をいじったところサイトが表示されなくなってしまいました。 慌てて設定を戻したつもりが復旧せず、さらにいじっていたところ表示はされるようになったものの、上記エラーがたびたび表示されるようになってしまいました。 (ここで変更内容を記録しておかなかったのがそもそもいけなかったのですが。。。) また、同じ原因かは分かりませんが、同時期よりページの読み込みが異様に遅くなりました。 ページは表示されるのですが、ブラウザのタブの部分のアイコンが5秒以上くるくる回っている状態です。(IE、Chromeにて確認) "Hello, World!"を出力するだけのページでテストしても同様です。 (htmlのページは即表示されます。) 以上2点(エラー、読み込みが遅い)について、原因・対応方法を調べています。 ほぼ初心者で、何の情報を提示すればよいかも分からないのですが、不足などありましたらご指摘頂けると幸いです。 ヒント程度でも結構ですので、どうぞ宜しくお願い致します。 ---------- WindowsServer2003 R2(SP2) IIS 6.0 PHP 5.2
- ベストアンサー
- PHP
- chiyori_qil
- 回答数2
- HTMLのフォームをPHPで配列で受け取る方法
Webアプリを作っています。 HTMLのフォーム上で、番号と名前を入力し、 PHPでデータベースに登録する感じになります。 HTMLのフォームから送信されたデータを、PHP側で配列として受け取るには、 どのようにHTMLを書き換えたら良いでしょうか? 説明のために例を挙げます。 sample.htmlには以下のように書いています。 <form action="action.php" method="get"> <input type="number" name="id1"> <input type="text" name="name1"> <input type="number" name="id2"> <input type="text" name="name2"> <input type="submit"> </form> ここで、送信ボタンを押すと、 ブラウザのロケーションバーには /action.php?id1=1&name1=taro&id2=2&name2=jiro このように表示されます。 action.phpは次のように書いています。 <?php print ($_REQUEST['id1']); print ($_REQUEST['name1']); print ($_REQUEST['id2']); print ($_REQUEST['name2']); ?> 出力結果は、 1taro2jiro のようになります。 このあと、PHPでデータベースに登録する処理をしたいのですが、 $_REQUEST['id1'] $_REQUEST['id2'] $_REQUEST['name1']; $_REQUEST['name2']; となっていると、処理が大変なので、 $_REQUEST['id'][0] $_REQUEST['id'][1] $_REQUEST['name'][0] $_REQUEST['name'][1] のように配列として受け取れるようにしたいのです。 sample.htmlを書き換える必要が有ると思うのですが、 どのように書き換えたら良いでしょうか? 教えていただけると幸いです。 どうぞ、よろしくお願いいたします。
- phpのchmodで2775設定がうまくいきません
phpでディレクトリを作成する際にchmodで2775を設定すると、実際に出来たディレクトリは全く違う権限になっています。 ■実際 d-ws-w-rwt 2 user group 4096 Aug 2 15:33 test1 ■期待 drwxrwsr-x 2 user group4096 Aug 2 15:34 test1 これはphpのバグなのでしょうか?? 0775で設定するとうまくいくのですが・・。 もし原因・対策をご存じであれば、是非ご教示下さい!
- PHPプログラミングを請け負った際の料金の相場
自分は個人事業主でPHPのプログラミングができますため 知り合いの会社さんから発注を受け、そのプログラムの納品を先日済ませました。 さて、請求というところなのですがいったいいくらを請求すれば良いか検討がつきません。 仲の良い会社さんなので見積もり等の話はすっ飛ばして開発、納品となりました。 ひとまずかかった時間は1日程度のプログラム内容です。 今後も一緒にやっていきたいので相場とかけ離れた金額を請求するのはイヤですし、 次回以降の請求がしづらくなるようなことが避けたいのです。 おおざっぱで構いませんので1日程度でできるようなプログラムを作った場合に いくらぐらいが妥当かご教授頂けないでしょうか。参考にさせて頂きたいのでよろしくお願いします!
- ベストアンサー
- 在宅ワーク・リモートワーク
- chijikun
- 回答数3
- phpでのログファイル要素の取り出しについて
お世話になります。 phpで以下の事をする場合についてなのですが、 log.dat(ログファイル) (log.datの内容) 643,1232,abceee,やま, 543,896,ddc.jp,かわ, 343,2435,rrsc,国, 214,1130,edbv.com,鳥, ※ログの順番はソートによって変わるようになっています 上記ログファイルの指定した部分だけを取り出して表示させたい場合、 例えば以下のようにforeachなどのループで毎回、 照合させて取り出すしか方法はないでしょうか。 hoge.php ============================ $id = $_GET['id']; $lines = file("log.dat"); foreach ($lines as $line) { $data=split("," ,$line); if'($data[2] == $id) { print "$data[1]"; break;} } ===================================== これを、たとえばですが、 以下のような記述で任意の箇所に何箇所か表示させる事ができるようにしたいのですが <?require("./hoge.php?id=rrsc");?> そのたびにlog.datをループさせてifで照合させて・・・ とやりますとログファイルもそこそこ大きくなってきますと 何回もループさせる事からサーバー負荷の点が気になってしまいまして このような場合、他に効率の良い方法などございましたら ご教授いただけないでしょうか。 (データベース等の使用は出来ず、あくまでログファイルを使って行わなければなりません) お手数をおかけしますがもしご存知の方がいらっしゃいましたら ご教授いただけますと幸いです。 (PHP Version 4.3.9 で稼動することが前提となります)
- php内 正規表現で特定文字を削除したい
phpの正規表現での置き換えに関しまして、ご質問をさせて頂きます。 宜しくお願い致します。 utf8のphp内で、 以下のような文字列(例1、例2)を$urlに入れて、<?php $url_regex = preg_replace('ホニャララ' , '' , $url) ;?>で、$url_regexに統一した出力結果をえたいと考えています。 例1) $url = /jhk/3つ目がとおる.html $url = /jhk/21-3つ目がとおる/呪文.html/ $url = /jhk/21-3つ目がとおる/呪文/ホアカバリキルマ.html ↓ いずれも $url_regex = /jhk/3つ目がとおる.html 例2) $url = /jhk/ドラクエ.html $url = /jhk/34-ドラクエ/呪文.html/ $url = /jhk/34-ドラクエ/呪文/イオナズン.html ↓ いずれも $url_regex = /jhk/ドラクエ.html この場合、正規表現'ホニャララ'はどのような記述にすれば良いか分からずに困っています。 また、この方法で置き換えは可能なのか否かも不明です。 詳しい方がいらしゃいましたら、ご教示、アドバイスいただければ幸いです!
- phpのCSVの保存について教えてください
下記のようにinputタグから値をphpにおくり、csvファイルに保存しようとしています。 値1に12345 値2に67890 値3にあいうえお というように値を送って保存し、csvファイルを開くと、 12345," 67890",あいうえお というように、値2として送ったものの先頭にダブルコーテーションとスペース、最後にダブルコーテーションが勝手に入ってしまいます。なぜ何でしょうか?対処法も含め教えていただければありがたいです。よろしくお願いします。 --------------------html---------------------------------- <form action="send.php" method="post"> 値1:<input type="text" name="aaa" > 値2:<input type="text" name="bbb" > 値3:<input type="text" name="ccc" > <input type="submit" value="送信する"> </form> --------------------php---------------------------------- <?php $val[0] = $_POST['aaa']; $val[1] = $_POST['bbb']; $val[2] = $_POST['ccc']; $fp = fopen("valdata.csv", "a"); fputcsv($fp, $val); fclose($fp); ?>
- サーバーの処理スピードを測定するCGIやPHPなど
今借りているフルマネージメントサーバーがかなり遅く感じます。他社の普通のレンタルサーバーと比べたいので、サーバーに負荷をかける処理をしてベンチマークをとるCGIやPHPなどありますか?的外れな質問でしたらウェブサーバーのスピードを図る方法などあればご教授ください。
- 締切済み
- レンタルサーバ・ASP
- ameyamakun
- 回答数2
- 無料のFC2でもPHPは使えますか?
現在FC2でサイトを作成しているのですが PHPを使ってみたいのですが ザンプをインストールして PHPの文法を覚えれば 無料のFC2でもPHPは使えますか?
- ベストアンサー
- レンタルサーバ・ASP
- dukojxbdlit
- 回答数1
- phpで作成した構文が上手く動きません 。
phpでmysqli構文が上手く動きません 質問します、よろしくお願いします。 現在 winVista、Xampp( apache、 php5、 mysql)にてプログラムの勉強をローカルで行っています。 ですが、書籍に載っていた以下のコードを実行してもエラーがでてうまく動きません。 幾ら調べてもわからず困っております、なにが原因でしょうか?ご教授をお願いいたします。 <?php /************************************************* * データベース操作 * */ require_once \'MDB2.php\'; $sv = \"localhost\"; $dbname = \"login_apri\"; $user = \"root\"; $pass = \"123456789\"; $dsn = \"$dbType://$dbUser:$dbPass@$dbHost/$dbName\"; //---------------------------------------------------- // データベース接続 //---------------------------------------------------- function db_connect($dsn){ $conn =& MDB2::connect($dsn); // 接続に失敗したらメッセージを表示して終了します。 if (MDB2::isError($conn)){ die($conn->getMessage()); } return $conn; } //---------------------------------------------------- // 検索結果を多次元配列で受け取る //---------------------------------------------------- function select_arrays($conn, $sql){ $result = execute_sql($conn, $sql); // レコードの取得 $i=0; $data = array(); while ($rec = $result->fetchRow(DB_FETCHMODE_ASSOC)) { foreach( $rec as $key => $value){ $value = sjis2euc_for_Winodows($value); $data[$i][$key] = $value; } $i++; } // 検索件数 $count = $result->numRows(); // クエリー結果セットの開放 $result->free(); return array($data, $count); } // 検索件数 $count = $result->numRows(); // クエリー結果セットの開放 $result->free(); return array($data, $count); } /************************************************* ブラウザに表示されるエラーは以下の通りです。 Fatal error: Call to undefined method MDB2_Error::fetchRow() in C:\\xampp\\htdocs\\HP\\login_main\\php_libs\\module\\dbtest3.php on line 32 32行目は while ($rec = $result->fetchRow(DB_FETCHMODE_ASSOC)) { どなたかご回答をなにとぞ宜しくお願いします。
- 締切済み
- PHP
- plathome20
- 回答数3
- PHPでメールフォームを作成していますが、
PHPでメールフォームを作成していますが、 フォームから内容を送信したあとに送信が完了したページのinquire.phpの上位表示部分に 下記の内容が表示されてしましまいまうが、原因は何がか考えられますでしょうか? No recipient addresses found in header HTTP/1.1 200 OK Date: Wed, 30 Jun 2010 12:24:25 GMT Server: Apache/1.2.6k KK-NET wpp/1.0 PHP4 X-Powered-By: PHP/4.3.11p1 Connection: close Content-Type: text/html
- PHPでブログやサービスを利用してみたい。
PHPでブログやサービスを利用してみたい。 google系のサービスはPHPで普通に使用出来ますし、 twitterやmixiも基本的な事なら利用出来ますよね? 他に外部操作ができるサービスにどのような物がありますか?
- PHPに関することで、ご教授頂けたら嬉しいです。
PHPに関することで、ご教授頂けたら嬉しいです。 エラーメッセージを$_SESSION["error_msg"]に格納し、headerを使いエラーメッセージ用のページに飛ばすよう設定したところ、 89行|if ( FALSE === file_exists(CUSTOMER_LIST_BACKUP_DB) ) { 90行| if ( FALSE === touch(CUSTOMER_LIST_BACKUP_DB) ) { 91行| $_SESSION["error_msg"] = "新規バックアップファイル作成できませんでした<br>\n"; 92行| header("Location:".ADIMN_ERROR_MSG_PAGE); 93行| } 94行| if ( FALSE === copy(CUSTOMER_LIST_DB,CUSTOMER_LIST_BACKUP_DB)) { 95行| $_SESSION["error_msg"] = "バックアップファイルのコピーに失敗しました<br>\n"; 96行| header("Location:".ADIMN_ERROR_MSG_PAGE); 97行| } else { 98行| $_SESSION["msg"] = "customer_list_backupファイルを作成しました<br>\n"; 99行| header("Location:".ADIMN_MSG_PAGE); 100行| } 101行|} 以下のようなエラーメッセージが表示されました。headerの前に空白などは入れてないとおもいます。 また、header("Location:".ADIMN_ERROR_MSG_PAGE);を2~3回繰り返し記載することも問題なのでしょうか? Warning: touch() [function.touch]: Unable to create file /home/users/nori/maildb/customer_list_backup.dat because Permission denied in /home/users/nori/public_html/admin/customer/list.php on line 90 Warning: Cannot modify header information - headers already sent by (output started at /home/users/nori/public_html/admin/customer/list.php:90) in /home/users/nori/public_html/admin/customer/list.php on line 92 Warning: copy(/home/users/nori/maildb/customer_list_backup.dat) [function.copy]: failed to open stream: Permission denied in /home/users/nori/public_html/admin/customer/list.php on line 94 Warning: Cannot modify header information - headers already sent by (output started at /home/users/nori/public_html/admin/customer/list.php:90) in /home/users/nori/public_html/admin/customer/list.php on line 96
- 締切済み
- PHP
- konrantyuu
- 回答数1
- MySQL+phpでHTML表示をhiftJISで表示したい
現在、MySQL+phpで作成し、EUCで統一して作成しています。 PCでは、問題なくEUCで見れているのですが、携帯で見ると文字化けします。 過去の質問(別の人)に解決方法があったのですが、どのようにPHPに記述したら良いか分かりません。ご教授願います。 http://okwave.jp/qa2634021.html ちなみに、HTMLベースのコード変換はエディタで再設定し保存すれば出来るのですが、PHP+MySQLの吐き出したHTMLをshift_jisにしたいのです。
- MySQLの内容をPHPで表示すると文字化け
WindowXPでApache+MySQL+PHPでサーバのテストをしていたのですが 漢字が文字化けします(半角文字はOKです。 Windowを使っているので、基本はShift-JISで使っています。 「最速Webシステム」という本に基ずいてテストしています。 コマンドプロンプトすなわち MySQL Command Line Cliantの黒い画面で >select name from board where (no=1); とか入れて、人の名前は漢字で表示されます。 ところが PHPプログラムで表示すると name-???? と出ます これは、echo "name=" . $myname;←のようにして表示しました。 --------------------------------------------- 今まではPHPでいろいろ作り mySQLに2バイトコード(漢字)を入れて mySQLから抽出して表示するときちんと漢字が表示されていました。 今回文字化けしたのは、もともと本の附録についてきた データを読んだところ、この現象がおきました。 これを解決するのに、どんなアプローチで追及して行けばいいか の方法でも何かありましたら、アドバイスお願いします。 よろしくお願いします。
- 【PHP】全角記号を半角記号に変換するには?
PHP5使用者です。 全角記号を半角記号に変換するにはどうすればいいのでしょうか? 現在、 mb_convert_kana($str, 'a' , 文字コード); で変換していますが、なぜか !”#$%&’()*+,-./:;<=>?@[¥]^_`{|}~ のうち、 ’ ” ¥ ~ は変換してくれません。 それに本来これは記号変換の関数ではありませんし… 全角記号を半角記号に変換したい場合、皆さんはどうされてますか? よろしくお願いします。
- 【PHP】SSL領域時でのリンクの書き方は?
PHPにてサイトを作っているものです。 最近SSL領域にもファイルを置き始めているのですがリンクの書き方で疑問があります。 リンク <a href="/dir/index.php">リンク</a> 画像 <img src="img/1.gif" /> SSL領域で上記のような書き方をすると当然リンク先は「https://~」となります。 そうではなくリンク先を「http://」にしたい場合はどうするのでしょうか? 現状正直に長々と「http://~」と書いておりますが、やはりやむを得ないのでしょうか。もしお手軽かつ単純な方法があるなら教えてください。 よろしくお願いいたします。
- 締切済み
- PHP
- takosuke88
- 回答数1
- phpで読み込んだcsvが文字化けします
PHPでCSVよ読み込んで名簿を作っています。 出力まではうまくいったのですが、なぜか一字だけ文字化けしてしまいます。(「務」→「冶」になってしまいます) 普段あまりプログラムはしないので、原因がわからず困りはてております。よろしくお願いいたします。 PHP部分の記述は以下になります。 ――――――――――――――――――――――――――――――――――― <?php $fname = "csv/meibo.csv"; $file = fopen($fname, "r"); $nowrap = "nowrap=\"nowrap\""; $tcent = "class=\"center\""; $tbg = "class=\"even\""; while (list($name, $post, $add, $add2, $tel, $http, $url, $mail) = fgetcsv($file, 1000, ",")){ $name = strtr($name, "﨑", "崎"); $add2 = strtr($add2, "﨑", "崎"); $tline ++; if($tline % 2 == 0){ echo "<tr $tbg>\n"; }else{ echo "<tr>\n"; } echo "<td $nowrap>$name</td>\n"; echo "<td $tcent>$post</td>\n"; echo "<td>$add<br />$add2</td>\n"; echo "<td $tcent>$tel</td>\n"; if($http == "http://"){ echo "<td $tcent><a href=\"$http$url\" target=\"_blank\"><img src=\"img/common/img_hp.gif\" alt=\"HPへ\" width=\"16\" height=\"16\" /></a></td>\n"; } else { echo "<td $tcent> </td>\n"; } echo "<td>$mail</td>\n"; echo "</tr>\n"; } fclose($file); ?> ――――――――――――――――――――――――――――――――――― PHP4を利用。 .phpのcharsetはShift_JISで、同じくShift_JISで保存しています。 CSVファイルはエクセルで作りShift_JISで書き出しています。
- ベストアンサー
- PHP
- noname#146582
- 回答数2
