【PHP】くだらねぇ質問はここに書き込みやがれpart2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
05/01/09 06:01:24ID:tJkdKk+eお前の下らない質問に回答があるかも知れないスレッドです。
0067nobodyさん
05/01/10 19:54:52ID:MMRXO/4kvar_dump($_POST);
したら、カタカナの'ソ'の文字の後ろに
¥マークなどが付加されました。
ページのエンコーディングはshift-JISです。
PHPはmbstring.internal_encodingEUC-JPです。
なぜでしょうか?
0068nobodyさん
05/01/10 19:58:26ID:MMRXO/4k\$test
0069nobodyさん
05/01/10 20:00:24ID:nGVUH1Bqできたっすよ。
あんたすげーよ!!
アリガトさん
0070nobodyさん
05/01/10 20:04:04ID:???COUNT(*) ってのはヒット数を取得するための関数なんだから、
わざわざROWSを取得しなくてもCOUNT値を取得するほうが
本来の意味としては正しいんじゃないの?ってこと。
0071nobodyさん
05/01/10 20:04:18ID:MMRXO/4kおいおい
echo '$test';ホントこれか?
echo "\$test";これじゃないのか?
0072nobodyさん
05/01/10 20:08:08ID:nGVUH1Bqおいおい、あんまこまけーこと気にしてっとはげるぞ
ここに書くときちょっと書き間違えてるだけじゃねーか
じゃあな、ベイビーちゃん
0073nobodyさん
05/01/10 20:11:41ID:???0074nobodyさん
05/01/10 20:13:24ID:???いえ、それのやり方を聞いてるのです。
$result = mysql_query("SELECT COUNT(*)〜);
で$resultにint型として数値が入るならいいですけどそうじゃないですし。
0075nobodyさん
05/01/10 20:22:06ID:???例えば SELECT subject FROM b_table とかやって
subject の値を取得したい場合はどうするよ?
取得する対象が subject か COUNT(*) かの違いだけで、やり方は一緒。
そのやり方すら分からないなら、素直にマニュアル読んでらっしゃい。
0077nobodyさん
05/01/10 20:30:50ID:???0079nobodyさん
05/01/10 20:37:37ID:???だから普段はselect * formだ。
でもヒット数用の関数といわれると使わないとかなとか思ってしまった。
0080nobodyさん
05/01/10 20:38:07ID:???×form
;y=ー(゚д゚)・∵. ターン
0081nobodyさん
05/01/10 20:42:17ID:???0082nobodyさん
05/01/10 20:44:17ID:???PHP5は.php5という拡張子じゃないと動かないらしいんですが
.phpという拡張子で動くように設定できないでしょうか?
今の設定では.phpでPHP4が動くようです。
008359
05/01/10 20:47:39ID:???mysql_fetch_rowsを使うのですか?
それとも他に何か綺麗な方法があるのでしょうか。
0085nobodyさん
05/01/10 20:55:04ID:???mysql_fetch_rowsでも構わないし、
カウント値しか取得しないならmysql_resultでもいいと思う。
0086nobodyさん
05/01/10 21:02:22ID:???0087nobodyさん
05/01/11 00:22:14ID:???文書数が1500を少し超えてしまいました。
php使えばと言われたのですが、何をどうやっていいか全然わかりません。
参考にするべき書籍やサイトがあれば教えてください。
0091nobodyさん
05/01/11 01:14:12ID:kHqHs+F6どのように解消すればよいですか?
0092nobodyさん
05/01/11 01:23:59ID:???すいません。自分でもよくわかりません。
というかなんでPHPを使えといわれたのかもよくわかりません。
とりあえず今サイト内検索にmserchというCGIを使っていて、
一昨日lime-wというページランキングのCGIを置いたところ
ものすごく重くなったので、コンピュータ関係の仕事をしている親戚に電話すると
PHPのことを言われました。が、忙しいので相談に乗る時間がないとのことで
ここに書き込んでみましたが、PHPで何がどうなるのかもそもそもわかりません。
0094nobodyさん
05/01/11 01:55:38ID:???LimeCounter+Wのことでいいのか?
たぶん集計じゃなくてカウントが重いんだと思うが、アクセスがあるたびにログファイルをリライトしてるから、
ここがボトルネックのように見える。一アクセスの度に、千数百件のログデータを精査してまるごと更新する
のはページ数アクセス数が多いサイトでは無理がある。
しかし1500行程度でものすごく重くなることはないはずだけどなあ。
PHPで書き直してもプロセス立ち上げるロスが軽減される程度なんで、本質的な解決にはならんと思う。
例えばアクセス過多でログの更新が重くなってるなら、カウントとログ更新のロジックを変えてみるしか。
ページごとにログファイルを分ければ集計は遅くなるけど、アクセスの度に千数百件のデータを精査して
更新する負荷は軽くなる、とか。
0095nobodyさん
05/01/11 02:53:54ID:???晒してみます。
ttp://n2ch.lazy8.info/moe/
>>94
そのcgiです。1500というのはhtml文書の数ですが、それくらいでは重くならないと
いうことでしょうか。ちなみに今は削除しました。
今はhttp://lily.boo.jp/php/tool.php?id=pv-ranking を使ってみようか思っているのですが、
結局imgタグでのカウント、アクセスログの精査とやることは同じようなので、
ロジックを変えないと結局同じということになりそうな気がしてきました。
ただ、そのロジックの変え方というのがちょっとよくわからないです。
0096nobodyさん
05/01/11 02:56:33ID:???0097nobodyさん
05/01/11 04:28:46ID:???そっちのはページごとにログファイルを作ってるし、カウントアップ時にページリストを
読み込むこともないから、ずっとまともだと思われ。(Lime counterは毎回全リスト全ログを読み書きするというトンデモ仕様のようだ)
それでもログが壊れるなら、なんか別の原因だろうね。
0098nobodyさん
05/01/11 04:32:58ID:???何をどうしたいのか、箇条書きでいいからまとめてくれ。
一応、漏れが理解できたのは、
現在1500ほどhtml文書がある。
それぞれのファイルに対するアクセス数のランキングを
知りたかったのでLimeCounter+Wを入れてみたが使い物にならなかった。
知り合いに尋ねたところ「PHP使え」と言われたが、どうしたらいいかさっぱりわからん。
と言うところまで。
#DB使ってみるとかになるのかな。
0099nobodyさん
05/01/11 04:34:20ID:???ページの数だけログファイルがあるとなると、集計結果を表示するときのファイルIOがすごそうだけどな
ランキングが頻繁に参照されるなら集計データをキャッシュするようにしたほうがいいだろう
作者じゃないので口だけだが
0101100
05/01/11 08:12:31ID:???この板のやつは
0102nobodyさん
05/01/11 09:46:04ID:???ありがとうございます。
とりあえず新しいほうを試してみます。
>>98
ありがとうございます。整理してい頂いた
>それぞれのファイルに対するアクセス数のランキングを知りたかった
というのがやりたかったことです。
ただ、これと「PHPを使え」という指示がどうリンクするのかわからないです。
0103nobodyさん
05/01/11 09:56:56ID:???★ ★
☆ 質問者が返信する際は、名前欄に「最初に質問したレス番号」を入れろ ☆
★ ★
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
0104nobodyさん
05/01/11 10:43:39ID:???なさそうな気もするけどDB使ってるのを探したほうがいい。
あるいはHTMLファイルをグループごとにわけて、一ランキングリストあたりの登録ページを減らすとか、、、
0105nobodyさん
05/01/11 10:49:14ID:???ランキング一覧は手動で更新してるみたいだから大丈夫じゃね?
リクエストの度に大量のログを読むわけじゃないなら鯖管もおおめにみてくれるかもよ
0109nobodyさん
05/01/11 12:30:43ID:J22T2QN3phpでどう書けばいいですか?
0110nobodyさん
05/01/11 12:39:04ID:???0111109
05/01/11 12:46:01ID:???0112nobodyさん
05/01/11 16:12:17ID:/YomWmAv「\」を投稿するとエラーになってしまいます。
原因はエスケープしてないため、とは思うのですが
現在使っている参考書には「\」を「\\」に変換するなどの記述はありません。
これはどのような原因が考えられるでしょうか?
よろしくお願いします。
0116nobodyさん
05/01/11 17:32:23ID:???Smartyのインストール方法がよくわからなくて。
PHPは自宅のFedoraCore3サーバーにyumコマンドでインストールしました。
なので、個別にSmartyをダウンロードして展開・設定を行う、などの
手順が難しいです。
ご教授願えないでしょうか?
ちなみにPHP4の環境です。PHP5にしたいのですが、そうすると、
xoopsが動かなくなってしまいます。
PHP5環境には、下記サイトを参考に一度してみました。
http://www.sera.desuyo.net/php5/
0117112
05/01/11 17:42:16ID:???いえ、エスケープの仕方はわかってるのですが、
なぜ参考書のサンプルではエラーにならないのかと思って質問しました。
ソースを見なければわからないとは思うのですが、
「\」をエスケープした記述はなくて不思議に思ってます
0118nobodyさん
05/01/11 18:04:27ID:???mysql_escape_string()をやればmysqlのエラーになるような文字は全部エスケープできるのですか?
それと掲示板に表示する際問題なく表示するためには
mysql_escape_string,nl2br,strip_tagsを使えば大丈夫でしょうか。
0119nobodyさん
05/01/11 18:26:03ID:hD8Gr+rzただしmysql_escape_string()においてperlからphpsへの変更により
FedoraCore3をSmartyをダウンロードして展開・設定するには
天ぷらを$pairs = explode( ';', $hogeへ変換し関連させなければ
mysql_escape_string,nl2br,strip_tagsを使うことはできません
0120nobodyさん
05/01/11 19:02:17ID:???<?php 〜 ?>と書くように、という記事を見つけました。
でも実際XHTML部分の解釈はブラウザ側、PHP部分の解釈はサーバ側なんだから
XHTMLなんかにとやかく言われる筋合いはない!と思うのですがどうですか。
0122アップロードについて
05/01/11 20:01:43ID:/7ZGSc21環境はPHP4.3.8+Apache1.3.31+WindowsXP なのですが、下記のように書いた
datetime.phpの「送信」ボタンを押しても、「$upfile_name」や「$upfile_size」
が表示されず、何もアップロード出来ません。、「$upfile_name」や「$upfile_size」
を表示させるにはどうすれば良いのでしょうか。どなたか教えて下さい。お願
い致します。
<form method="POST" enctype="multipart/form-data" action="datetime.php">
<input type="hidden" name="MAX_FILE_SIZE" value="10000">
ファイル名を入力して下さい
<input size="30" type="file" name="upfile"><br
<input type="submit" name="submited" value="送信">
</form>
<?php
$MAX_FILE_SIZE=$_POST['MAX_FILE_SIZE'];
$upfile=$_POST['upfile'];
$submited =$_POST['submited'];
if($submited !="")
{
//ファイルの情報を表示する
print("ファイル名:$upfile_name<br>\n");
print("ファイルサイズ:$upfile_size<br>\n");
print("ファイルタイプ:$upfile_type<br>\n");
}
?>
0124nobodyさん
05/01/11 21:16:37ID:???2頁目以降にいくときにsearch.php?search=検索文字とGETで渡してるのですが
全角だと文字化けしてしまいます。
何かいい方法はないでしょうか?
0125nobodyさん
05/01/11 21:19:09ID:???0126122
05/01/11 21:19:38ID:/7ZGSc21ありがとうございます!下のように書いたら出来ました!マニュアルって、
ttp://www.phpspot.net のことですよね?
<?php
$submited=$_POST['submited'];
$uploadfile =$_FILES['userfile']['name'];
if($submited !="")
{
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print($_FILES['userfile']['name'] . "<br>");
print($_FILES['userfile']['size'] . "<br>");
print($_FILES['userfile']['type'] . "<br>");
print("<a href=\"" . $uploadfile . "\">$uploadfile</a><br>");
}
0129nobodyさん
05/01/11 23:18:56ID:blFDrsTZ相場は大体おいくらでしょうか?
0130nobodyさん
05/01/11 23:22:42ID:???0131nobodyさん
05/01/11 23:24:06ID:blFDrsTZ0132nobodyさん
05/01/11 23:25:40ID:???0135nobodyさん
05/01/12 05:58:33ID:aUwThzOF相対パス(realpath("../dir/file.ext"); )とかだとうまくいくんですが、
絶対パス(realpath("/dir/file.ext"); )とかだとダメです_| ̄|○
(c:\inetpub\wwwroot\dir\file.extが返ることを期待してるのにfalseが返る)
どうやらルート(/)がC:\と解釈されちゃうみたいなんですが…
何か設定が悪いんでしょうか? php.iniで(doc_rootをc:\inetpub\wwwrootにしてもダメでした)
要はASPのServer.MapPathと同じことをしたいんです。
環境はWIN XP+IIS+PHP4.3.10です。よろしくお願いします。
0137nobodyさん
05/01/12 06:43:57ID:???当たり前
0138nobodyさん
05/01/12 10:36:03ID:2Rwu3ejIどのように解消すればよいですか?
0139nobodyさん
05/01/12 10:50:06ID:5IhIpMX9こんにちわ とか うぃっす とか こんちゃーっす とかいろんなバリエーションで出したいんです
とりあえず
<?php
print('こんにちは','うぃっす','こんちゃーっす');
?>
これでやってみたんですがだめでした(´・ω・`)
だれかおしえてください
0140nobodyさん
05/01/12 10:57:56ID:???http://jp.php.net/array_randを使って味噌
>>91>>138
残念ながらここにいるのはゴッドやエスパーばかりではない
0141nobodyさん
05/01/12 11:06:04ID:???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検索機能をある程度作ったところなのですが
検索ワードに「b」など入れるとスペース( )が引っかかります。
さらに文字色を変えるために置換をしてるのでスペースの部分が&n<FONT>b</FONT>sp;みたいになり
文字として表示されてしまいます。
スペースがヒットしてしまうのはとりあえずはいいとしてるのですが、文字として表示されるのは困ってます。
置換するときに(^ )などを検索条件に入れれば解決するとは思いますが
他の特殊文字など全部入れるのは汚いので何か簡単に解決する方法はないでしょうか?
0144143
05/01/12 12:24:14ID:???3行目 スペース(&nbsp;)
8行目 (^&nbsp;)です。
0145nobodyさん
05/01/12 12:29:48ID:EzxAhEkT都市部にゲス女は集中してる
これには理由があって、都市には働き盛りの若い男が集まってくるよな学生とか
当然、都市部には男ばっかりになる。
都市は慢性的な女不足なんだ
そこに住んでる男は女がいなくて大変。女はウハウハ
そういうところですごした女はタカビー女・ゲス女となる
でも、男で東京に住んでるからって悲観することはない
東京に住んでるってことは毎日ゲス女に鍛えられてるってことだからだ
俺自身生涯で一番もてたのは東京を離れてすぐの頃だった
東京ゲス女に鍛えられてたからな。 地方の女は女神に見えた
だから東京ゲス女に関わるなと、ちょっと地方に行けばいくらでもいい女はいる
東京で鍛えられてる男なら、モテモテだよと
「都会風吹かせて気取らないこと」
それさえ、気をつければ女なんていくらでも寄ってくる
この考えに賛同する人はこのスレを色んなとこに貼り付けてくれ
そんで、これ以上女日照りの東京に無謀な男が来ることを防ごうじゃないか!!
もしかしたら、コレを見て上京してくる女の子が増えるかもしれないしな
協力頼むぜ!
0147nobodyさん
05/01/12 12:35:17ID:???スペースを&nbsp;にしてDBにINSERTするんじゃくて
スペースはスペースのままDBにINSERTしておいて
DBからSELECTしたときに
htmlspecialcharsでもつかって変換しておけばよいのでわ?
0148nobodyさん
05/01/12 12:39:19ID:???0149143
05/01/12 13:17:46ID:???ありがとうございます。
アタマが堅かったですね…
>>147
insertする時にmysql_escape_string();だけ使って
表示するときにhtmlspecialcharsってことですね。
nl2br や strip_tagsもDBから呼び出す時の方がいいでしょうか?
0150nobodyさん
05/01/12 13:47:33ID:???よいとされている。
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文字以上とか基準を設けて弾くのも手。
0151150
05/01/12 13:49:19ID:???0152nobodyさん
05/01/12 13:54:12ID:???0153150
05/01/12 14:18:40ID:???preg_replace('/((?:^|&.+?;)[^&]*?)('.$keyword.')|((?:^|&.+?;)&.+)('.$keyword.')(?!:.+?;)/', '$1$3<font>$2$4</font>', $string);
0154nobodyさん
05/01/12 14:19:23ID:PPEzW4f4フラッシュに原寸てあるんでしたっけ。
現在、テンプレとなるhtmlの中に<?echo $title;?><?echo $comment;?>のようにDBなどから取得した
データを表示しているのですが、
これを、静的なページにしたいので、出力されたhtmlを別ファイルに書き出したいのですが、
どうすればよいのでしょう。
0155150
05/01/12 14:25:14ID:???preg_replace('/([^&]*)('.$keyword.')(?![^&]+?;)/', '$1<font>$2</font>', $string);
0156nobodyさん
05/01/12 14:27:29ID:???例えば
ob_start();
include('template.html');
$buffer = ob_get_contents();
ob_end_clean();
file_put_contents('static.html', $buffer);
0158154
05/01/12 14:31:32ID:PPEzW4f4ああー。、PHP5専用でしたか。。
PHP4でいける方法ってないですかね。。
0162154
05/01/12 14:38:07ID:???0164nobodyさん
05/01/12 14:41:32ID:???>XSS対策のHTMLエンティティ変換なんかは、静的なドキュメントの出力直前にやるのが
>よいとされている。
をやると書き込み時の1回変換だったのが
読み込み時だとレス数回変換になりますよね。
これは推奨されてるとなっているがどの程度の負荷になってしまうのでしょう。
素人考えかもしれませんがものすごい負荷になりそうでコワヒのですが。
0165150
05/01/12 14:42:50ID:???ごめんね。お母さん初めて回答者したから沢山レスしてごめんね。
■ このスレッドは過去ログ倉庫に格納されています