【PHP】質問スレッドpart31【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/11/27(日) 00:07:12ID:eBvjdczp【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。
過去スレ、関連リンク、FAQ等>>2-10辺り
0136nobodyさん
2005/12/01(木) 10:46:56ID:???んにゃ
ネットワークエンジニア→webPG→鯖管&ヘルプデスク→windowsappPG→webデザイン→何でも屋(泣
こうして何でも屋さんのできあがり
0137129
2005/12/01(木) 12:21:46ID:dlWTNPt6あ、ちょっとよさそうすね。
人のプログラムおっかけるのに、苦労してて、ツリー上に表示できるのが
あると便利だなーと思いまして。
Eclipseとかでできると楽なんですけどね。
0138nobodyさん
2005/12/01(木) 13:17:38ID:???0139nobodyさん
2005/12/01(木) 13:26:30ID:???0140nobodyさん
2005/12/01(木) 13:27:18ID:???明示的にphp5を使用する方法が無い場合は、共存してるって言わないと思うよ。
その共存環境を作った人に聞いてみ。
0141nobodyさん
2005/12/01(木) 13:43:00ID:???拡張子かスクリプトを置くディレクトリでキックするPHPを分ける。
CGI版の最初の1行目パスで切り替えてもいいけどね。
0142nobodyさん
2005/12/01(木) 13:44:20ID:???リクエストするポートで切り替える手もあるな。
運用テストに良く使う
0143nobodyさん
2005/12/01(木) 13:49:26ID:???拡張子だね。
私は昔、php3なら国際化PHP3、phpならphp4となるようにしてた。
たしか、Apacheのhttpd.confで設定したかもしれない。
0144138
2005/12/01(木) 13:54:14ID:???0145nobodyさん
2005/12/01(木) 15:07:47ID:iXMXSlHn$newfile = "./somefile.html";
$ddr = fopen("$newfile", 'w');
$adr = strtr($ddr, "夏 ", "冬");
fwrite($ddr, $adr);
これを実行するとsomefile.htmlの中には Resource id #3
という文字だけになって、元あった文字も無くなってしまいます。
特定の文字だけを置き換えて上書きするにはどうしたらよいでしょうか。
よろしくお願いします
0146nobodyさん
2005/12/01(木) 15:14:30ID:???> $adr = strtr($ddr, "夏 ", "冬");
この辺りの関数の使い方(つーより理解?)がおかしい。
スレの上の方でファイルの書き換えの話をやってるから、みてごらん。
0147nobodyさん
2005/12/01(木) 15:20:15ID:???マニュアル読んでーっ!!!!
$newfile = "./somefile.html";
$ddr = file_get_contents($newfile);
$adr = strtr($ddr, "夏 ", "冬");
file_put_contents($newfile, $adr);
0148145
2005/12/01(木) 16:50:50ID:???>>147で試してみましたが関係のない文字が
変な風に変換されるだけでした。
(ひらがなの ”と” が ”め” になったり、”夏”が”冏”になったり)
文章を長くしたり短くしたりしても駄目でした
0149nobodyさん
2005/12/01(木) 17:05:53ID:???http://www.php.net/strtr
http://www.php.net/str_replace
http://www.php.net/preg_replace
0152nobodyさん
2005/12/01(木) 17:18:48ID:???0154145
2005/12/01(木) 18:44:46ID:???$newfile = "somefile.html";
$ddr = file_get_contents($newfile);
$adr = mb_ereg_replace("秋", "冬", $ddr);
file_put_contents($newfile, $adr);
?>
strtr,str_replace,も試してみたのですが、
英語⇔英語は置き換えできても、
日本語⇔英語、日本語⇔日本語はできませんでした。
環境からまた見直してみます。皆さんありがとうございました。
0156145
2005/12/01(木) 19:05:41ID:???文字コードでできました!
EUC-JPで保存してたつもりがUTF-8でした・・・
超凡ミス・・・・
皆さんのおかげでできました!本当にありがとうございました!
0158nobodyさん
2005/12/01(木) 19:58:27ID:???0159nobodyさん
2005/12/01(木) 20:10:02ID:mUwPwikL$host = "http://www.hogehoge.com";
$ch = curl_init( $host );
curl_setopt( $ch, CURLOPT_HEADER, 1 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 0 );
curl_setopt( $ch, CURLOPT_FAILONERROR, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $this->m_timout );
curl_setopt( $ch, CURLOPT_HTTPHEADER, $head );
$result = curl_exex($ch);
$err = curl_error($ch);
で、$resultには何も返ってきません。
$err には「Couldn't resolve host 'www.hogehoge.com''」 というメッセージが返ってきます。
しかし、コンソールで
curl -I http://www.hogehoge.com
を実行した場合には正常に名前解決もでき、正常な結果も返ってきます。
PHPのCURL関数を使用した場合だけ名前解決ができていないようなのですが、
どうすればいいのか途方にくれています。
よろしくお願いします。
0160nobodyさん
2005/12/01(木) 20:12:28ID:???$this->m_timout の値は120を指定しています。
0161nobodyさん
2005/12/01(木) 21:27:37ID:???http://fooos.com/のようなメールのcgiを知りませんか?
0162nobodyさん
2005/12/01(木) 21:46:55ID:cg4HP1lwpyaというサイトをにもありますが、
良い 悪い を評価するボタンを設置するにはどうすればいいですか?
0163nobodyさん
2005/12/01(木) 21:54:56ID:???0164162
2005/12/01(木) 22:01:12ID:???正しくは
>pyaというサイトにもありますが、
でした。。
0165nobodyさん
2005/12/01(木) 22:03:43ID:???そういうスクリプトを探すなり、自分で書くなりすればいいだけですよ。
そのpyaとやらのサイトもそうやって作られたものです。
0166nobodyさん
2005/12/02(金) 00:06:46ID:???PHPでcheckdnsrr()とかgethostbyname()で引いたときにIPが取れる?
0168nobodyさん
2005/12/02(金) 04:43:38ID:FIP91xbibrowscap.iniが読めないと言われました。
初耳だったので検索したところ、
ブラウザ情報の設定ファイルとのことなので、
http://jp.php.net/manual/ja/faq.obtaining.php#faq.obtaining.browscap
ここにかかれたURLからダウンロードして設置しましたが、
360行でパースエラーが出ます。
どうすれば解決できますか?
0169nobodyさん
2005/12/02(金) 08:49:34ID:???違うページに飛ぶには、
どうしたらよいでしょうか?
0171nobodyさん
2005/12/02(金) 08:57:09ID:rQNTnY5jエラーをコピペ汁!
漏れの所では問題ない。
>>169
ブラウザ依存。PHPでmailtoの挙動なんて指定できないよ。
0172169
2005/12/02(金) 08:57:48ID:???ありがとうございます。
携帯電話でも、使えるようにしたいため、
Javascriptは使えません。
よろしくお願いします。
0176nobodyさん
2005/12/02(金) 09:44:04ID:???0177nobodyさん
2005/12/02(金) 10:25:34ID:???0181169
2005/12/02(金) 11:35:20ID:???送った時点で、
ありがとうございました。等を
表示させたいんです。
携帯電話で利用したいので、
Javascriptは使えないんです。
0182nobodyさん
2005/12/02(金) 11:43:22ID:???立ち上げたメーラーが、実際メールを送ったかどうかを判断できないのでそもそも仕様から不可能。
(メール送らずにメーラー閉じたりする場合もあるから)
0184169
2005/12/02(金) 11:45:10ID:???ありがとうございます。
ただ、そのリンクもしくはフォームをクリックした時点で、
切り替わってくれれば、問題ないのですが、
それも、不可能ですか?
0185nobodyさん
2005/12/02(金) 11:48:25ID:???JavaScript使えないんじゃ無理っぽいね。
つかmailto使わずに、自分でメール用のフォーム作ってPHP側でメール送信するようにすれば目的としていることはできると思うよ。
0186169
2005/12/02(金) 11:52:22ID:???確認がとれないですよね。
0187nobodyさん
2005/12/02(金) 11:56:20ID:???0188nobodyさん
2005/12/02(金) 12:01:52ID:???なんか糞仕様を考えているような気がする。;
0189nobodyさん
2005/12/02(金) 12:04:40ID:???確認してどうすんの?
後々返信とかしたいなら、ユーザにメルアドを入力するかどうかを任意で選ばせるべきだと思うけど。
(返信されたくないユーザだっているでしょ)
メーラーを使わせる仕様にしたっていくらでも偽装できるしね。
0190169
2005/12/02(金) 12:10:14ID:???違う方法で考えてみます。
0191nobodyさん
2005/12/02(金) 18:35:21ID:???そんな事するなら直接受け取れるフォームにするけど(w
エロサイトの課金チェックとかそういうのが遣りたいのかねえ?
0194nobodyさん
2005/12/04(日) 08:33:32ID:???あるクラスが配列で別のクラスのインスタンスを複数持つような、
複雑な階層構造を持つクラスはセッションに保存できないんでしょうか?
具体的な症状としては、複雑な階層構造を持つクラスをserializeし、
後にunserializeするときに Node no longer exists という警告がでます
0195nobodyさん
2005/12/04(日) 08:38:48ID:???session_start()する前にクラス定義がないとだめだよ。
http://www.php.net/manual/ja/ref.session.php
0196nobodyさん
2005/12/04(日) 12:30:55ID:???ありがとうございます。ご助言を頼りに、なんとか無事にunserializeできました!
シリアライズされたデータをvar_dumpしたところ、
SimpleXML型のデータとしてシリアライズされていたということが分かりました。
(XMLから読み込んだユーザデータをシリアル化しようとしていた)
これを読み込み時にString型にキャストすることで無事事なきを得ました。
0197nobodyさん
2005/12/04(日) 19:21:04ID:PbAtq7vQ0198nobodyさん
2005/12/04(日) 19:33:56ID:???0199145
2005/12/04(日) 19:58:24ID:???2 <head></head>
3 <body>
4 <p>あああああああああ
5 <p>いいいいいいいいい
6 <p>うううううううううううう
7 </body>
8 </html>
というファイルの、5行目から下(6,7,8,)を削除して
上書きさせたいのですがどうしたらよいでしょうか。
よろしくお願いし舞う
0200nobodyさん
2005/12/04(日) 20:00:09ID:f2NWnh3L0201nobodyさん
2005/12/04(日) 20:11:12ID:???単なる改行コードという、言い換えればaやbと同じような記号が入ってるだけなんよ。
そういう一つの長い文字列から特定部分を取り除こうとしたら、どうしたらいいと思う?
そう、改行コードを最初から数えていって、狙った個数になったところでチョン切って、
またまた削除したい分の改行コードの個数を数えて行ってチョン切って、
それを繋ぎあわせるつー事になるわけよ。
まぁ、改行コードの部分で自動的にぶった切ってくれる関数を使ってもいいけどな。
0202nobodyさん
2005/12/04(日) 21:05:43ID:???お前www
思いっきり負け組みじゃんw
0203nobodyさん
2005/12/04(日) 21:10:45ID:???"5"行目まで残して、以下は削除、でいいんだな?
$path = "hoge.html";
$a = file($path);
$fp = fopen($path, "w");
foreach ($a as $line)
fprintf($fp, $line);
fclose($fp);
0204nobodyさん
2005/12/04(日) 21:12:38ID:???中途半端なまま送っちまった
$path = "hoge.html";
$a = array_slice(file($path), 0, 5);
$fp = fopen($path, "w");
foreach ($a as $line)
fprintf($fp, $line);
fclose($fp);
0206201
2005/12/04(日) 21:14:26ID:???行という捉え方をしてる時点でもう負け組なわけよ。
0207199
2005/12/04(日) 21:48:49ID:???ありがとうございます!できました!
5行目以前を取得する、んですね。
5行目以降を削除する事だけしか考えてなかったので、
自分では絶対無理でした^^ほんとにありがとうございます
>>201
substr_count($htmlfile, "<p>") <= 2){
みたいな感じで部分を指定して取得してやるんでしょうか?
そっちのやり方も勉強してみます。もの凄くヒントになりました。
ありがとうございました
0208nobodyさん
2005/12/04(日) 21:51:40ID:???0209nobodyさん
2005/12/04(日) 22:05:51ID:???0210nobodyさん
2005/12/04(日) 22:06:40ID:???そ
う
で
す
か
0211nobodyさん
2005/12/04(日) 22:08:04ID:???0212nobodyさん
2005/12/04(日) 23:10:09ID:???search.php?name=テスト
このようにURLに漢字が入るとブラウザによっては表示できませんよね?
getの時のようなURLにするにはどうすればいいのでしょうか?
0213nobodyさん
2005/12/04(日) 23:12:53ID:???0214nobodyさん
2005/12/05(月) 00:10:36ID:???>URLに漢字が入る
がオカシイ。まあ海外厨避けに生sjisで
ゴニョゴニョすることも無いわけではないが、
まともなやり方じゃないしね。
0215nobodyさん
2005/12/05(月) 00:15:50ID:???たとえば、 2005-12-15 -> December 15 とかに変更したいのです。
strtotime()で一旦タイムスタンプに戻して、date()でやっているのですが、他に方法あるでしょうか。
0216nobodyさん
2005/12/05(月) 01:02:07ID:???http://jp.php.net/manual/ja/function.urlencode.php
0217nobodyさん
2005/12/05(月) 01:40:51ID:???>
>このようにURLに漢字が入ると
>search.php?name=テスト
>
>このようにURLに漢字が入ると
>search.php?name=テスト
>
>このようにURLに漢字が入ると
>search.php?name=テスト
>
>このようにURLに漢字が入ると
>search.php?name=テスト
>
>このようにURLに漢字が入ると
>search.php?name=テスト
>
>このようにURLに漢字が入ると
0218nobodyさん
2005/12/05(月) 05:07:22ID:???0220nobodyさん
2005/12/05(月) 13:59:59ID:mqRTUQ8gurlencode()
0221nobodyさん
2005/12/05(月) 14:04:55ID:???GETの時のようなというよりGETそのものなんだな。
0222nobodyさん
2005/12/05(月) 17:33:48ID:???名称を知ってりゃ検索であっさり見つかるんだが・・・
FAQに加えないか?
0223nobodyさん
2005/12/05(月) 17:58:56ID:zZ7taK0k本来はPHPと関係ないから他でやってほしいけどね
0224nobodyさん
2005/12/05(月) 18:03:00ID:???0225nobodyさん
2005/12/05(月) 18:22:55ID:???GETやPOSTで日本語を送信するには、とか?
0226nobodyさん
2005/12/05(月) 20:28:59ID:???→ urlencode()
でいいんじゃないの?
0227nobodyさん
2005/12/05(月) 21:05:29ID:???→くだ質スレ
PHPのマニュアルを読んだことが無い
→くだ質スレ
リア厨・リア高だ
→くだ質スレ
ニートだ
→くだ質スレ
0231nobodyさん
2005/12/06(火) 15:22:41ID:???15ページほどのサイトで全てのページに
同じディレクトリをフラグとしてロックをかけたら、
アクセスが増えるとすぐに破綻しますか?
どのページでも同じファイルにアクセスしているので
こういう事をしなければならなくなってしまったのですが。
0232nobodyさん
2005/12/06(火) 16:22:55ID:???>1-5
>1-5
>1-5
>1-5
>1-5
>1-5
0234nobodyさん
2005/12/06(火) 16:58:36ID:???そうそう破綻しない。
いまのマシンはスペックが昔と段違いなので大丈夫。
心配しすぎです。
■ このスレッドは過去ログ倉庫に格納されています