トップページ⇒php
1001コメント296KB

【PHP】くだらねぇ質問はここに書き込みやがれpart2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん05/01/09 06:01:24ID:tJkdKk+e

お前の下らない質問に回答があるかも知れないスレッドです。
0140nobodyさん05/01/12 10:57:56ID:???
>>139
http://jp.php.net/array_randを使って味噌

>>91>>138
残念ながらここにいるのはゴッドやエスパーばかりではない
0141nobodyさん05/01/12 11:06:04ID:???
ファイルマン(ttp://fileman.n1e.jp/)のように、
Flashの再生や停止ボタンを自動でつけるためのスクリプトはどのように書けばいいでしょう?
もしくは、Flash外部から再生や停止コマンドを送信、ということは可能でしょうか?
0142nobodyさん05/01/12 11:21:18ID:???
「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。
1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
  目の前で生じている現象をそのまま具体的に書くなどもっての外。
  事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
  「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
  「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
  "どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
  「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
  示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
 絶対に避ける。
8. 情報は小出しに。

「エスパーきぼんぬ」 補足
上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。
そのような悪い質問に対して答えられるのは,
質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ,
という意味であって,決して,高度な技術を持つユーザに対する尊称でなはい。
まちがっても「エスパーの方,回答お願いします」
なんて痛い質問するな。つうか氏ね。
0143nobodyさん05/01/12 12:17:16ID:o9cou9UP
PHP+mySQLで掲示板を作っています。
検索機能をある程度作ったところなのですが
検索ワードに「b」など入れるとスペース( )が引っかかります。
さらに文字色を変えるために置換をしてるのでスペースの部分が&n<FONT>b</FONT>sp;みたいになり
文字として表示されてしまいます。

スペースがヒットしてしまうのはとりあえずはいいとしてるのですが、文字として表示されるのは困ってます。
置換するときに(^ )などを検索条件に入れれば解決するとは思いますが
他の特殊文字など全部入れるのは汚いので何か簡単に解決する方法はないでしょうか?
014414305/01/12 12:24:14ID:???
投稿したときに消えてしまいましたが、

3行目 スペース(&nbsp;)
8行目 (^&nbsp;)です。
0145nobodyさん05/01/12 12:29:48ID:EzxAhEkT
東京ゲス女論

都市部にゲス女は集中してる
これには理由があって、都市には働き盛りの若い男が集まってくるよな学生とか
当然、都市部には男ばっかりになる。
都市は慢性的な女不足なんだ
そこに住んでる男は女がいなくて大変。女はウハウハ
そういうところですごした女はタカビー女・ゲス女となる
でも、男で東京に住んでるからって悲観することはない
東京に住んでるってことは毎日ゲス女に鍛えられてるってことだからだ
俺自身生涯で一番もてたのは東京を離れてすぐの頃だった
東京ゲス女に鍛えられてたからな。 地方の女は女神に見えた
だから東京ゲス女に関わるなと、ちょっと地方に行けばいくらでもいい女はいる
東京で鍛えられてる男なら、モテモテだよと
「都会風吹かせて気取らないこと」
それさえ、気をつければ女なんていくらでも寄ってくる

この考えに賛同する人はこのスレを色んなとこに貼り付けてくれ
そんで、これ以上女日照りの東京に無謀な男が来ることを防ごうじゃないか!!
もしかしたら、コレを見て上京してくる女の子が増えるかもしれないしな
協力頼むぜ!
0146nobodyさん05/01/12 12:35:12ID:???
>>143

/&.+;/
0147nobodyさん05/01/12 12:35:17ID:???
>>143
スペースを&nbsp;にしてDBにINSERTするんじゃくて
スペースはスペースのままDBにINSERTしておいて
DBからSELECTしたときに
htmlspecialcharsでもつかって変換しておけばよいのでわ?
0148nobodyさん05/01/12 12:39:19ID:???
&amp;nbsp → &nbsp;
014914305/01/12 13:17:46ID:???
>>146
ありがとうございます。
アタマが堅かったですね…

>>147
insertする時にmysql_escape_string();だけ使って
表示するときにhtmlspecialcharsってことですね。
nl2br や strip_tagsもDBから呼び出す時の方がいいでしょうか?
0150nobodyさん05/01/12 13:47:33ID:???
XSS対策のHTMLエンティティ変換なんかは、静的なドキュメントの出力直前にやるのが
よいとされている。
http://www.ipa.go.jp/security/awareness/vendor/programming/a01_02_main.html

が、実際には毎回処理するのはコストになるということで永続化直前にやってしまう。

ハイライトがどういうロジックになってるか知らんけど、&.*; に含まれる文字列を除外したいだけなら
正規表現でなんとかなる。このくらいは捨ててもいいと思うけどね。

$string = 'foobar hoge'';
$keyword = 'b';

$keyword = preg_quote($keyword);

$hl = preg_replace('/((?:^|&.+?;)[^&]*?)('.$keyword.')/', '$1<font>$2</font>', $string);

あと一文字だけの検索ってあんまり意味ない上に負荷かかるから、
記号以外2文字以上とか基準を設けて弾くのも手。
015115005/01/12 13:49:19ID:???
$string = 'foobar hoge''; じゃなくて $string = 'foobar&nbsp;hoge'; ね
0152nobodyさん05/01/12 13:54:12ID:???
Flashの縦サイズ、横サイズ(原寸)を知るにはどうすればいいでしょう?
015315005/01/12 14:18:40ID:???
すまんバグってた
preg_replace('/((?:^|&.+?;)[^&]*?)('.$keyword.')|((?:^|&.+?;)&.+)('.$keyword.')(?!:.+?;)/', '$1$3<font>$2$4</font>', $string);
0154nobodyさん05/01/12 14:19:23ID:PPEzW4f4
>>152
フラッシュに原寸てあるんでしたっけ。

現在、テンプレとなるhtmlの中に<?echo $title;?><?echo $comment;?>のようにDBなどから取得した
データを表示しているのですが、
これを、静的なページにしたいので、出力されたhtmlを別ファイルに書き出したいのですが、
どうすればよいのでしょう。
015515005/01/12 14:25:14ID:???
最終的にこうなりますた・・・(´∀`* )
preg_replace('/([^&]*)('.$keyword.')(?![^&]+?;)/', '$1<font>$2</font>', $string);
0156nobodyさん05/01/12 14:27:29ID:???
>>154

例えば

ob_start();
include('template.html');
$buffer = ob_get_contents();
ob_end_clean();
file_put_contents('static.html', $buffer);
0157nobodyさん05/01/12 14:30:19ID:???
>>154
普通に書き出せば?
015815405/01/12 14:31:32ID:PPEzW4f4
Call to undefined function: file_put_contents(、、

ああー。、PHP5専用でしたか。。
PHP4でいける方法ってないですかね。。
0159nobodyさん05/01/12 14:34:55ID:???
>>158
file_put_contents();はデータをファイルに書き出してるだけだぞ。しっかりしろ。
0160nobodyさん05/01/12 14:36:36ID:???
>>158
普通に書き出せば?

ファイルオープン
ファイル書込
ファイルクローズ
ウマー
0161nobodyさん05/01/12 14:37:42ID:???
>>158
つか、くだ質イケよ。
ここは、オマエが存在していい場所じゃない
016215405/01/12 14:38:07ID:???
うわ、ほんとでした。。もうしわけないありがとうございます。
0163nobodyさん05/01/12 14:40:54ID:???
>>161
ここが、そのくだ質のように見えるのですが・・・
0164nobodyさん05/01/12 14:41:32ID:???
上の
>XSS対策のHTMLエンティティ変換なんかは、静的なドキュメントの出力直前にやるのが
>よいとされている。
をやると書き込み時の1回変換だったのが
読み込み時だとレス数回変換になりますよね。
これは推奨されてるとなっているがどの程度の負荷になってしまうのでしょう。
素人考えかもしれませんがものすごい負荷になりそうでコワヒのですが。
016515005/01/12 14:42:50ID:???
やっぱり>>155じゃ駄目だわ。>>155取り消しで>>153をアンサーにして下さい。
ごめんね。お母さん初めて回答者したから沢山レスしてごめんね。
0166nobodyさん05/01/12 14:45:15ID:???
>>164
 一 家 離 散 
0167nobodyさん05/01/12 14:55:51ID:???
>>164
レスを全部一つの変数に突っ込んでから変換すりゃー(゚з゚)イインデネーノ?
0168nobodyさん05/01/12 14:56:59ID:???
>>165
うるさいくたばれ、回答すんな
0169sage05/01/12 14:59:25ID:1cdGeyac
PHPのクラスについて勉強になるサイトを御存知のかた教えてください。
基礎は習得したつもりなのですが、配布されているソースには理解できない部分がたくさんあって、
困っています。
0170nobodyさん05/01/12 15:13:56ID:???
>>169
「PHPのクラス」と言えるほど風変わりなものはPHPにはないことないか。
オブジェクト指向そのものについて学んでおかないと直感的にソースを読み書きできないよ。
OOPの基礎が出来てるならオフィシャルのマニュアルで十分なような。
0171nobodyさん05/01/12 15:15:06ID:???
>>154さん
ぐは、ありがとうございます。
原寸って無いんですね…
Flashについてあまりに無知でした、すみません。
0172nobodyさん05/01/12 15:18:29ID:???
>>164
そう負荷にならないんじゃないの?
1ページに数百件もレスがあるってのなら話はベツだけど…
100件くらいなら…大丈夫なのかな?
その辺は(  ′∇ソ ヨーワカラン
0173nobodyさん05/01/12 15:21:51ID:???
ビューの生成パターンやコンテンツの大きさなんてマチマチなんだから、
負荷がどのくらいですなんて言えるわけないでしょ。ケースバイケースだよ。
0174nobodyさん05/01/12 16:00:11ID:1cdGeyac
>>170
お返事ありがとうございます。
オブジェクト指向関係が甘いのでそれを固めてから再トライします。
0175nobodyさん05/01/12 16:21:56ID:???
オブジェクト指向なんて習得するにはイパーン人なら10年かかるぜ
0176nobodyさん05/01/12 16:25:11ID:???
つまり習得してるヤツは大抵が30くらいの親父か。
0177nobodyさん05/01/12 16:29:57ID:???
変数に""で囲まなくても文字が入ってしまうのですが
このような時にエラーが出るようにできるのでしょうか?

$str = abc;
エラーが出ずにabcが入る
print $str;
abcと出力される
0178nobodyさん05/01/12 16:31:16ID:???
>>174
PHPはメソッド名の大文字小文字を識別できないwので
そこだけは気をつけろよw
0179nobodyさん05/01/12 16:41:46ID:???
>>177
>未定義の定数を使用した場合、ちょうどstringとして コールしたかのように
>(CONSTANT vs "CONSTANT")、 PHPはその定数自体の名前を使用したと
>仮定します。 この際、E_NOTICE が発生します。
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~

ってことでerror_reporting(E_ALL);で表示させられるはず
0180nobodyさん05/01/12 17:03:16ID:???
このスレをたまたま見つけて>>150さんが言ってたようにエンティティ変換を
出力直前にしてやってます。
しかし何故かフォームから投稿した改行が\nとなって<BR>では表示されません。

DBに書き込むときmysql_escape_string();
HTMLで表示するときnl2br,htmlspecialchars,strip_tagsを使っています。
手作業で\nを<BR>に変換するしかないのでしょうか?
018117705/01/12 17:05:23ID:???
ありがとうございます。
無事解決しました。
これでaspからの変換作業が楽になります。
0182nobodyさん05/01/12 17:22:30ID:KZ/Cebye
phpでショッピングカートや管理システムを構築するとしたら
どれぐらい、時間がかかりますか?
0183nobodyさん05/01/12 17:45:53ID:???
>>182
自分で料理を作るとしたら
どれぐらい、時間がかかりますか?
0184nobodyさん05/01/12 18:39:51ID:???
>>180
nl2brしたタグが
strip_tagsで消去されちゃってるんじゃないの?
0185nobodyさん05/01/12 20:18:19ID:???
>>182
山田花子でせんずりするとどのくらいで
イキますか?
0186nobodyさん05/01/12 20:36:05ID:???
規模等の具体例無し + 個々の技量の指定無し、つー時に
山田花子なんて具体例を出してくるのはイカガ谷^hなものかと。
高見盛似の妹 なら可。
0187nobodyさん05/01/13 02:34:30ID:hKLwSoTE
phpでショッピングカートや管理システムを構築するとしたら
どれぐらい、時間がかかりますか?
0188nobodyさん05/01/13 03:04:39ID:???
>>187
マジレスすると、1日〜5年ぐらい
0189nobodyさん05/01/13 04:10:37ID:???
>>186
亮子のことかーーーーーーー!!!!
0190nobodyさん05/01/13 06:30:57ID:???
HTML_QuickForm_ControllerってPOSTするとurlに変な文字列加えるね
あれはどうにもならないでつか?
0191nobodyさん05/01/13 11:09:03ID:???
でつ
0192nobodyさん05/01/13 11:40:46ID:eU6aIcYN
phpで作ったカウンタを
abc.htmlで表示させたいのですが、何かよい方法はないでしょうか?
.htmlなのでincludeもできず困ってます
019319205/01/13 11:41:57ID:eU6aIcYN
ちなみに<IMG src="phpカウンタのアドレス" border="0">と
やってみましたが、表示されませんでした。
カウンターはテキストカウンタです
0194nobodyさん05/01/13 11:51:55ID:NtIaNDXJ
PHPのprint関数ってprintの後に半角スペースは絶対いるんですか?
0195nobodyさん05/01/13 11:58:01ID:???
>>192
オブジェクトもしくはスクリプトエレメントで

>>194
試せ
0196nobodyさん05/01/13 11:59:38ID:???
>>192-193
PHPと関係ねーだろがw
019719205/01/13 13:38:39ID:eU6aIcYN
>>193
スクリプトエレメントは分かったのですが、
オブジェクトが良く分かりません。
オブジェクト指向のオブジェクトでしょうか?
0198nobodyさん05/01/13 13:46:18ID:Im2hBt0b
<?
・・・・
<img src="../pic/hinomaru.gif">
・・・・
?>

↑これを仮に"hinomaru.php"として保存するとしましょう。
その後このphpをよそのphpファイルからincludeして呼び出すとき、
../pic/hinomaru.gif
というファイルの相対指定は呼び出したphpファイルの居場所によって
まちまちになってしまいます。こういうのを防ぐにはどうファイルを指定したら
いいでしょうか?

呼び出される側のphpファイルが基準になればそもそもこんな問題は
起こらないんですがね・・・
0199nobodyさん05/01/13 13:58:28ID:???
>>198
相対パスじゃなくて ウェブサーバのルートディレクトリ からの絶対パスにしましょう。
020019805/01/13 14:06:00ID:???
>>199
私も初めウェブサーバーのルートからの絶対パスにしてみました。
リンクに関してはルートからの絶対パスで問題なかったんですが
<img src="">
に関してはルートからの絶対パスではうまく表示されませんでした。
<img src="">
は絶対パスサポートしていないのでしょうか?


あと万が一現在借りているウェブサーバーを引っ越さなければならないとき、
ルートの絶対パスも変わってしまうので全部記述し直さなければなりません。
できれば相対パス表記の方が汎用性があっていいかなぁと思っているのですが・・・
0201nobodyさん05/01/13 14:10:42ID:???
>>193
画像データを作成したプログラムにしないと表示されんよ。
0202nobodyさん05/01/13 14:11:23ID:???
dirname(__FILE__)
0203nobodyさん05/01/13 14:11:53ID:???
>>197
どっちもタグだろ
0204nobodyさん05/01/13 14:15:27ID:???
>>198,200
意味不明
0205nobodyさん05/01/13 14:21:43ID:???
>>198
hinomaru.phpにはパス情報をもたせず、常にinclude側からパスを指定すれば解決
0206nobodyさん05/01/13 14:22:24ID:???
「サーバルート」と「ホームディレクトリ」の違いが判らん奴が(ry
020719805/01/13 14:22:45ID:???
<?
$real_path = realpath ("../pic/hinomaru.gif");
echo '<img src="$real_path">';
?>

としてみたんですがダメでした。画像は表示されませんでした。
0208nobodyさん05/01/13 14:25:59ID:???
>>207
お前の脳はクラゲかw
0209nobodyさん05/01/13 14:28:14ID:???
結論としては

> というファイルの相対指定は呼び出したphpファイルの居場所によって
> まちまちになってしまいます。

なってしまいません。
0210nobodyさん05/01/13 14:29:29ID:???
オマイら釣られすぎ。
0211nobodyさん05/01/13 14:29:39ID:???
おもしれえw
021219805/01/13 14:32:16ID:???
>>208
(;´Д`)?
0213nobodyさん05/01/13 14:35:05ID:???
>>208
目はみかんだな。
0214nobodyさん05/01/13 14:47:38ID:???
>>207
http://localhost/img/pic/hinomaru.gif
というURLで当該画像ファイルにアクセスできるなら
<img src="/img/pic/hinomaru.gif">
0215nobodyさん05/01/13 14:51:04ID:???
相対パスでもええやん。どうせパスが間違ってるだけなんだから。
0216nobodyさん05/01/13 14:54:00ID:???
セルフサービスで丑の刻参りかよ
0217nobodyさん05/01/13 14:54:54ID:???
>>215
includeは、指定したファイルの中身を貼り付けるだけだよ。
相対パスじゃincludeで>>205のように処理しないと呼び出したとき対処出来ないだろ。

例えば、/title.php を /test/index.phpからincludeで呼び出したら、相対が変わってくる。
0218nobodyさん05/01/13 15:00:07ID:???
つーかディレクトリ構成変えるつもりならハードコーディングするなよ
0219nobodyさん05/01/13 15:01:30ID:???
>>209
どさくさ紛れに変なこと書くんじゃない
0220nobodyさん05/01/13 15:05:31ID:???
>>198
俺もかつて同じ問題にぶち当たったことがある。
そのときは呼び出した側から呼び出された側の相対パスを
検出するfunctionを作ることで解決した。
__FILE__変数使えばできなかないぞ。
一度作ってしまえば使い回しもできるし便利なもんだよ(´ー`)y−~~~
0221nobodyさん05/01/13 15:06:19ID:???
>>202
クライアントに提示する方のパスですから、
0222nobodyさん05/01/13 15:06:28ID:???
つーかおまいらnobodyknows
0223nobodyさん05/01/13 15:08:48ID:???
+
022419805/01/13 15:14:09ID:???
>>207にあるとおり

<?
$real_path = realpath ("../pic/hinomaru.gif");
echo '<img src="$real_path">';
?>
はひょうじされませんでしたが

<img src="../pic/hinomaru.gif">

はちゃんと表示されました。
何ででしょう(;´Д`)・・・
0225nobodyさん 05/01/13 17:52:04ID:???
RedHatLinux 7.3
PHP Version 4.3.3
Configure Command
'./configure' '--with-apxs=/usr/sbin/apxs' '--enable-mbstring' '--with-pgsql' '--enable-xslt' '--with-xslt-sablot=/usr' '--with-sablot-js=/usr' '--with-expat-dir=/usr' '--without-mysql' '--with-ldap' '--with-gd' '--with-zlib-dir=/usr'
という環境です。

[質問]
session_start()を使用しているプログラムなのですが、キャッシュコントロールに
おおはまりしております。

php.iniでは
session.cache_limiter => nocache
になっていますが、あるプログラムの部分だけキャッシュさせたいと思っています。
ネットで調べたところ
session_start()の前で
ini_set("session.cache_limiter","none");
または
ini_set("session.cache_limiter","private");
としたのですが、どうもHTTP_CACHE_CONTROLにno-cacheが設定されてしまいます。

そもそもPOSTではキャッシュさせることができないのでしょうか。
どうぞヒントをいただけますようお願いもうしあげます。
0226nobodyさん05/01/13 19:54:01ID:obCi5PQG
PHPとmysqlの掲示板の検索フォームで躓いております。
空白で区切ったときにandまたはor検索をしたいのですがどのようにやればよろしいでしょうか?
置換で空白部分に「 and 」と入れたのですが'%a and b %'となるのでそのまま文字として認識されちゃいますし…
0227nobodyさん05/01/13 19:57:57ID:???
$keylist = explode(' ', $key);
$tmp = '';
foreach ($keylist as $key) {
if ($key) $sql .= $tmp . " hoge like \"%$key%\"";
$tmp = ' and';
}
022822605/01/13 20:00:21ID:???
とても速いレスありがとうございます!
助かりました
0229nobodyさん05/01/13 20:51:18ID:???
>>224
Webサーバのルートとファイルシステムのルートの違いもわからんのか?
0230nobodyさん05/01/13 21:25:01ID:eW3QGjHb
eAccelerator使ってる人いますか?
使用感(速度・安定性)はどうでしょう
0231nobodyさん05/01/13 21:28:01ID:mcYFj/Gd
PHP5+SimpleXMLについての質問です。
[test.xml]
<?xml・・・?>
<aaa file="c:\hoge">
 ・
 ・
 ・
</aaa>

[スクリプト]
$xml = simplexml_load_file('test.xml');
$attr = $xml->attributes();
foreach($attr as $key=>$var)
{
echo "$key -> $var\n";
}

・・・と、こんな感じでXMLを読み込んでfileの属性値を取得しています。
その属性値を表示してみると\記号以降が文字化けしてしまうのですが、
どうやって解消すればよいのでしょうか?
0232nobodyさん05/01/13 22:05:41ID:???
>>231
マルチバイトの文字がエンティティ化されてるだけじゃないの?
もともとtext.xmlのどういう文字がどう化けるの?
023323105/01/13 22:46:01ID:mcYFj/Gd
>>232
>マルチバイトの文字がエンティティ化されてるだけじゃないの?
すみません、知識不足の為この部分がよくわからないのですが、
文字化けとエンティティ化というのはどのように関係してくるのでしょうか?


実際に発生している文字化けは上記の例だと「c:\hoge」が「c:ツ・hoge」となります。
どうやら「\」が 0xc2a5 という値に置き換わっているようなので
今のところ、上記コードのforeach内部で
str_replace(chr(0xc2).chr(0xa5), "\\",$var);
とすることで文字化けした部分を無理やり\記号に置き換えている状況です。
023419805/01/13 23:06:37ID:???
>>229
そうでしたか・・・両者は違ったんですか・・・
0235nobodyさん05/01/13 23:16:47ID:???
>>234
http://foo.com/etc/passwd

とかできたら怖いだろうが
0236nobodyさん05/01/13 23:29:54ID:???
>>235
それは、ドザの>198に言っても意味ないよ。
確かに出来たらちょっと怖いけど。
0237nobodyさん05/01/13 23:48:56ID:???
PHPにとある変数に何か値がセットされているかどうかチェックする関数ってある?
0238nobodyさん05/01/13 23:55:36ID:???
>>237
isset

チェック系関数は殆どがisから始まるから覚えておくといいかも
0239nobodyさん05/01/14 00:09:39ID:???
>>238
激しくサンクス
あとdefineでセットした変数はdefined()で調べられるみたいだね
■ このスレッドは過去ログ倉庫に格納されています