【PHP】質問スレッドpart33【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/02/16(木) 03:19:52ID:xwXojaq/【基本ルール】
・新規質問の方は上げてください。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辺り
0052nobodyさん
2006/02/17(金) 18:41:05ID:???> なんかすごい間違った使い方してる気がするんだが…
うん。自分でもそう思っている。
SEO的なところからindex.php?main 見たいにサイト全体を一つのphpで処理したくないんだよね。
(だから実際にはphpファイルでも拡張子htmlで動くようにしています。)
mod_rewriteはなんか複雑だし、レンタルサーバーによっては入ってなさそうだし。
そうするとコンテンツ(ページ)ごとにtplとそれを表示する.phpができてしまってごちゃごちゃしない?
> ***.phpにHTMLを入れておきたいんだったらSmartyは使わない方が
> すっきりする希ガス
いま一応そうしているんだけど、将来、俺はシステム面だけ作りたいし、デザイン方面は
デザイナーに任せたいし、中身はお客さんでも修正できるようにしたいし。どうしたもんかなぁ。
別にSmartyは使わないは使わないでもいいんだけど、この話は横道。
本来の解決したい問題はこっち→>>44 。
005451
2006/02/17(金) 20:14:04ID:???>そうするとコンテンツ(ページ)ごとにtplとそれを表示する.phpができてしまってごちゃごちゃしない?
んー
なんとなく言わんとすることはわかるが…
そういうもんだと割りきってしまってるからなぁ…
そもそもテンプレートエンジンって1ページ表示の際のロジックをPHPで、
画面構成をテンプレートで、と分けるのが目的だしね。
若干苦しいが、独自でHTML中に埋め込まれる変数をトークンに対応付けておいて、
サーバに配置する際には必ずsedとかでトークン→PHP変数の置換を行う、とか…
0055nobodyさん
2006/02/17(金) 21:42:19ID:+wY6r5/H<!-- <?php echo ' --' , '>'; $obj->method(); echo '<', '!--'; ?> -->
0056nobodyさん
2006/02/17(金) 21:49:25ID:???0058nobodyさん
2006/02/17(金) 23:10:04ID:???$dirName = $_POST['dirName'];
$lastNum = $_POST['lastNum'];
$fileName = "$dirName/$lastNum.dat.gz";
$fileName2 = d."$fileName";
$ret = copy($fileName,$fileName2);
unlink ($fileName);
今あるファイル名の先頭に「d」とつけたいのですが
上記のようなコードを書いても期待通りに動きません。
ファイル名、ディレクトリ名は外部からPOSTしています。
アドバイスをよろしくお願いします。
0060nobodyさん
2006/02/17(金) 23:28:22ID:???01.phpの中身をこうしてみ
<?php
$aaa = "正常に動作しました";
echo preg_replace('/(\$)(\w+)/e', '$GLOBALS[$2]', file_get_contents("a.txt"));
?>
0061nobodyさん
2006/02/17(金) 23:29:18ID:???> $fileName2 = d."$fileName";
↓
$fileName2 = "d$fileName";
0062nobodyさん
2006/02/17(金) 23:49:42ID:???>>61
ありがとうございます!
うまく動作しました。
renameのほうが鯖負担は少なそうですね。
いまだにphpのストリングス結合の法則が分からん・・
0064nobodyさん
2006/02/18(土) 00:41:09ID:???0067nobodyさん
2006/02/18(土) 11:43:18ID:???3文字ずつ分割して配列にする方法を教えてください。
[0] => abc
[1] => def
[2] => ghi
[3] => jkl
0068nobodyさん
2006/02/18(土) 12:04:50ID:???これぐらいしか思いつかん、スマン
for ($n = 0; $n < strlen ($a)/3; $n++)
$b[$n] = substr ($a, $n*3, 3);
0069nobodyさん
2006/02/18(土) 12:31:35ID:???$a='abcdefghijklmn';
$b=preg_split('/(.{1,3})/', $a, -1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
print_r($b);
0070nobodyさん
2006/02/18(土) 12:38:40ID:???php5なら
$str = "abcdefghijkl";
$arr = str_split($str, 3);
0071nobodyさん
2006/02/18(土) 15:39:50ID:???0072nobodyさん
2006/02/18(土) 17:13:25ID:???0073nobodyさん
2006/02/18(土) 17:21:20ID:???$abc = qq(<A href="a">).$def.qq(</A>);
みたいなことしたいんですけど、ヒアドキュメントだと
見づらくなっちゃうので、すっきりかける方法がないかな〜と。
0074nobodyさん
2006/02/18(土) 17:47:49ID:???俺は知らないなぁ。
"(<A href=\"a\">)$def(</A>)";
とやるか
"(<A href='a'>)$def(</A>)";
とやるな。
0075nobodyさん
2006/02/18(土) 17:54:29ID:???つか、普通にシングルクォートで括れば?
$abc = '<a href="a">' . $def . '</a>' ; (いまさら大文字は無いだろ…)
0076nobodyさん
2006/02/18(土) 18:20:45ID:???\"にしろ . での連結にしろ煩わしいし見づらいし間違っても気づきにくいし。
俺はヒアドキュメント使っちゃう派。
0079nobodyさん
2006/02/19(日) 01:44:34ID:???いやあperlほど不便なものはない。。
0080nobodyさん
2006/02/19(日) 02:17:35ID:???0082nobodyさん
2006/02/19(日) 03:06:31ID:???0083nobodyさん
2006/02/19(日) 04:24:56ID:SHjAEm2nprint"<img src="sky.jpg" width="" height="" alt="">";
↑この文章のところでエラーになってしまうんですが
なにかいい方法ないですか?
0085nobodyさん
2006/02/19(日) 04:46:34ID:???こうしろ
?>
<img src="sky.jpg" width="" height="" alt="">
<?php
0086nobodyさん
2006/02/19(日) 08:48:59ID:???0087nobodyさん
2006/02/19(日) 14:18:30ID:???0088nobodyさん
2006/02/19(日) 15:06:13ID:???釣りにマジレス
しなくても
0089nobodyさん
2006/02/19(日) 15:56:15ID:???0090nobodyさん
2006/02/19(日) 17:05:40ID:???現在この様な形式でJSTでログに記録しています。
これをGMTで
Sun, 19 Feb 2006 00:00:00 GMT
と変換したいのですが簡単な方法ありませんでしょうか。
こんな事なら最初からunixtimeでログとっておけば簡単だったのに・・・
0091nobodyさん
2006/02/19(日) 18:14:30ID:???MovableTypeに以下のスクリプトでtrackbackを送ると
「1 送信元の URL (url) が必要です。」
と帰ってくるのですが、仕様書の記載ではこれでよいはずなのです。
どなたか原因を教えていただけませんでしょうか。
<?php
$url='www.hogehoge.com';
$fp = fsockopen($url,80,$errno, $errstr, 30);
if(!$fp){echo "$errstr($errno)";}
$ping="POST http://www.hogehoge.com/tb.cgi\r\n";
$ping .= "User-Agent:BlogTool\r\n";
$ping .= "Host: http://www.hogehoge.com/tb.cgi/1\r\n";
$ping.="Content-Type: application/x-www-form-urlencoded\r\n";
$ping.="title=Foo+Bar&url=http://www.hogehoge2.com/1.html&excerpt=My+Excerpt&blog_name=Foo";
fwrite($fp,$ping);
$response = "";
while (!feof($fp)) {
$response .= fgets($fp, 4096);
}
fclose($fp);
echo $response;
?>
0092nobodyさん
2006/02/19(日) 18:22:59ID:???そうやって見つけた仕様書では、
パラメータとして title, excerpt, url, blog_nameを使う事ができ、 url だけが必須、とあった。
0093nobodyさん
2006/02/19(日) 18:33:27ID:???なのにurlencodeされていないのは気にしなくてもいい?
009491
2006/02/19(日) 18:34:03ID:???お手数おかけします。
(トラックバック技術仕様書 http://lowlife.jp/yasusii/stories/8.html
$pingの最終行にurlを指定しているのですが
これが仮に送信されていないのであれば
phpの書き方に問題があるのではないかと思ったのです。
0095nobodyさん
2006/02/19(日) 18:44:22ID:???じゃあ、これならOK?
if(条件) {
?><img src="sky.jpg" width="" height="" alt=""><?php
}
0096nobodyさん
2006/02/19(日) 18:50:05ID:???仕様書も読まないで想像で回答しちゃうけど、
POST 〜
User-Agent: 〜
Content-type: 〜
ときて
name=value&name=value&name=value...
とくるなら、それって前者がPOSTメソッドのヘッダ送信で、後者がクエリーデータだろ。
ならヘッダとデータの間に1行の空行が必要なはず。
$ping.="Content-Type: application/x-www-form-urlencoded\r\n";
$ping.="\r\n";
$ping.="title=Foo+Bar&url=http://www.hogehoge2.com/1.html&excerpt=My+Excerpt&blog_name=Foo";
でいけねー?
009890
2006/02/19(日) 22:37:05ID:???ありがとうございました。解決できました。
2006/02/19(Sun) 00:00:00 で (Sun) とかが入っていても見事に変換できるのですね
009991
2006/02/20(月) 00:36:09ID:???空行を入れる
のいずれも駄目でした…。
思いついてUTF-8に変換してみたりもしたのですが
やはり同じ症状です。
はてさて…
0100nobodyさん
2006/02/20(月) 04:23:54ID:???多分今回の問題とは直接は関係ないと思うが
> $ping="POST http://www.hogehoge.com/tb.cgi\r\n";
> $ping .= "Host: http://www.hogehoge.com/tb.cgi/1\r\n";
は
$ping="POST http://www.hogehoge.com/tb.cgi/1\r\n";
$ping .= "Host: http://www.hogehoge2.com/\r\n";
だと思う。
0101nobodyさん
2006/02/20(月) 07:53:04ID:???0102nobodyさん
2006/02/20(月) 10:07:52ID:???0103nobodyさん
2006/02/20(月) 12:02:40ID:???perlを実行するためのパーミッションを教えてくださいぐらい関係の無い質問だな。
遠からず近からず。
要するにこっちで質問されるとウザい。
0104nobodyさん
2006/02/20(月) 17:29:29ID:???0105nobodyさん
2006/02/20(月) 18:06:35ID:???0106nobodyさん
2006/02/20(月) 18:10:08ID:???0109nobodyさん
2006/02/21(火) 01:23:25ID:csEvNJQp調べてみると出てきません。教えて神様
0110nobodyさん
2006/02/21(火) 01:24:15ID:???以下のように書くしかないですか?
SQLを何回も叩くので遅くなりそうなのが心配です。
foreach ( $user_ids as $user_id ) {
$sql = "SELECT user_name FROM users WHERE user_id = ".$user_id;
$result = $DB->GetRow($sql);
}
0111nobodyさん
2006/02/21(火) 01:35:12ID:???タイマーかけるということ?
時間判定で表示させるページ内容を変更するか、
cronを使うか。
どちらかになると思う。
0112nobodyさん
2006/02/21(火) 02:29:27ID:???IN使っちゃどうかね
$sql = "SELECT user_id,user_name FROM users WHERE user_id IN ('".implode("','",$user_ids)."')";
011391
2006/02/21(火) 08:49:54ID:???ありがとうございました。
(解決策はスレ違いといわれそうなので、このままで)
0115nobodyさん
2006/02/21(火) 09:49:21ID:???暗号化と高速化ってのは魅力なんですが、
これによってバグとかが発生しちゃうのが怖いんです。
ttp://www.asial.co.jp/products/ioncube/encoder/products.php
0116nobodyさん
2006/02/21(火) 10:28:55ID:???現在表示されてるHTMLを定期的にリフレッシュさせればいいんじゃない?
>>115
試してみて結果を教えてくれ。
0118nobodyさん
2006/02/21(火) 11:45:50ID:???どっちも同じぐらいのレベルの話するし。
0121nobodyさん
2006/02/21(火) 13:39:56ID:???0122nobodyさん
2006/02/21(火) 14:30:37ID:???それは
「俺はやり方わかったけどお前らには教えてやんねーぜ、バーカ」
と近い発言になってるという事に気付いてください。
解決しても、解決策を出すのが質問スレでのマナーでしょう。
知りたい人は沢山いるわけだから。
0124nobodyさん
2006/02/21(火) 18:02:42ID:ihX6B4Hf<?php
print"test";
?>
ってやったら出力されます?
0127nobodyさん
2006/02/21(火) 20:25:51ID:???PHPのフォーラムかどこかに投稿されてるのかな?
0128nobodyさん
2006/02/21(火) 21:21:49ID:y3MPaFDbもちろん出力される。
0129nobodyさん
2006/02/21(火) 21:28:19ID:???0130nobodyさん
2006/02/21(火) 21:45:25ID:???ブラウザ上で見える内容かどうかはともかく
0131nobodyさん
2006/02/21(火) 21:44:20ID:???0134nobodyさん
2006/02/21(火) 23:40:53ID:???"ブラウザへは"出力されるんだから。
大抵のブラウザは無効なタグとして処理し、ブラウザ上には表示しないと思うが。
「phpとして処理されますか?」なら>>125だけどな。
早い話が質問内容が悪(アバウト)すぎる
0135nobodyさん
2006/02/22(水) 00:44:55ID:???0136nobodyさん
2006/02/22(水) 02:28:56ID:???0137nobodyさん
2006/02/22(水) 02:37:21ID:???このサーバをphpを使ってクラックすることは可能ですか?
phpでダメなら他の方法でも構いません。
0140nobodyさん
2006/02/22(水) 08:40:56ID:???したいのですがこの場合どういう風に構築すればよいのでしょうか?
0142nobodyさん
2006/02/22(水) 11:12:30ID:???ウザッ
0143nobodyさん
2006/02/22(水) 11:29:59ID:???http://www.sample.com/test.jpg
のファイルサイズを取得する方法を教えてください。
0145nobodyさん
2006/02/22(水) 11:47:32ID:YzTdS2ndPHP4.4.2をインストールし、nucleusでblogを作成したところ、
「エラー発生アプリケーション w3wp.exe、バージョン 6.0.3790.1830、エラー発生モジュール php4isapi.dll、バージョン 0.0.0.0、エラー発生アドレス 0x00002443」
とアプリケーションログに記録され、表示できなくなりました。
どうやら、PHP4.4.2のバクのようで、STABLE版の使用で解決するらしいのですが、STABLE版はIISで使用できるのでしょうか?
また、設定方法等、解説しているサイトをご存知でしたら、ご教授願えませんでしょうか?
よろしくお願いします。
0146nobodyさん
2006/02/22(水) 11:52:20ID:???0147nobodyさん
2006/02/22(水) 12:00:00ID:???ありがとうございます。
説明不足でした。
外部のファイル
http://www.sample.com/test.html
http://www.sample.com/test.jpg
http://www.sample.com/test.mpg
の容量(バイト)を取得する方法を教えてください。
0148nobodyさん
2006/02/22(水) 12:04:19ID:???0150nobodyさん
2006/02/22(水) 12:19:22ID:???自分で答え言ってるな。
>148が答え。
満足したら帰れ。
0151nobodyさん
2006/02/22(水) 12:25:27ID:???この後、>>147は
「では、外部のファイルを取得する方法を教えてください」
と書き込もうとするであろう。
ところが、この予言の書を目にして、書込みを躊躇う。
■ このスレッドは過去ログ倉庫に格納されています