【PHP】下らねぇ質問はここに書き込みやがれpart18
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/03/15(水) 19:18:21ID:yiOrS10Nここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart17
http://pc8.2ch.net/test/read.cgi/php/1140786348/
過去スレは>>2-3あたり
0241nobodyさん
2006/03/20(月) 14:44:03ID:???print 'エラーっす';
}
のほうが早くは無いか
0242nobodyさん
2006/03/20(月) 14:45:10ID:???一般的に、パラメータがn桁以下の数値かどうかを判断するのに、
正規表現で /^\d{1, n}$/
とするのと、
strlen + is_numeric
を使うのと、どちらがパフォーマンスよいでしょうか?
桁数は、極端に大きな桁数はなく、せいぜい6桁〜10桁程度です。
0243nobodyさん
2006/03/20(月) 14:54:22ID:???if ($var < pow(10 , $n)) {
print 'ちいせーよ';
}
でいいのでは
0244nobodyさん
2006/03/20(月) 14:55:08ID:???0246nobodyさん
2006/03/20(月) 15:42:59ID:CAF8GnmOよろしくお願いします。
0248nobodyさん
2006/03/20(月) 15:59:07ID:CAF8GnmOありがとうございます。
0249nobodyさん
2006/03/20(月) 16:04:45ID:???0250nobodyさん
2006/03/20(月) 16:08:25ID:???頼めばできるかもしれません。
それから、ソースを無料で配布しているサイトもありますよ。
http://php.s3.to/
とか。
0251nobodyさん
2006/03/20(月) 16:41:27ID:???sql select結果を取得して、結果があれば処理をする場合
if(mysql_num_rows($result)>0)
{ $hoge=mysql_result($result,0,0); }
とするのと
if($list=mysql_fetch_array($result))
{ $hoge=$list[0]; }
とするのとどちらがよいと思われますか?
0253nobodyさん
2006/03/20(月) 17:36:24ID:???mail ( $to, $subject, $message)
でメールを送信した際に表示されるFromはどこで設定されているのでしょうか?
0254nobodyさん
2006/03/20(月) 18:01:13ID:???http://jp.php.net/manual/ja/function.mail.php
注意: メールを送信する際には、必ず From ヘッダが含まれていなければなりません。 additional_headers パラメータで指定するか、
あるいは php.ini にデフォルト値を指定します。
指定しなかった場合は、以下のようなエラーメッセージが返ります
Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing 。
http://jp.php.net/manual/ja/ref.mail.php#ini.sendmail-from
0256nobodyさん
2006/03/20(月) 19:26:35ID:???$htm = strip_tags($html, '<script><style><a><p>');
print htmlspecialchars($htm);
ってやるとまともに動かないのは仕様?
strip_tagsは使うなって言われてるしねよく
0259256
2006/03/20(月) 19:42:03ID:???くだ質じゃなかったかな・・、どっちも見てるんで混乱してるかも
0261nobodyさん
2006/03/20(月) 19:57:30ID:???警告
現在、strip_tags()はHTMLの検証を行わないため、
不完全または壊れたタグにより予想以上に
多くのテキスト/データが削除される 可能性があります。
警告
この関数は、allowable_tagsで許可した全てのタグ の属性を修整しません。
これには、style お よび onmouseover属性が含まれており、
悪意のあ るユーザが他のユーザに見せるようなテキストを
投稿する際に危険な行 為を行う可能性があります。
と書かれてるからね。
>>250
そこを参考にするのは微妙。
0263nobodyさん
2006/03/21(火) 01:38:19ID:???やり方がちょっと分からなくて困っています
どなたかご教授下さい
0264nobodyさん
2006/03/21(火) 01:40:16ID:???0265nobodyさん
2006/03/21(火) 01:59:31ID:???こういうこと?
echo preg_replace("/[\\d\\w\\.\\-_]+@[\\d\\w\\-_\\.]+?\\.[\\w]{2,3}(\\.[\\w]{2,3})?/i","<a href=\"mailto:$0\">$0</a>",
"[email protected]ご教授じゃなくてご教示");
0266nobodyさん
2006/03/21(火) 02:51:52ID:???これじゃダメかな
0267nobodyさん
2006/03/21(火) 04:03:31ID:???もし文中にAと言う単語を含むならC、Bと言う単語を含むならD、と言った風に条件分岐させるにはどうすればいいのでしょうか
function test($var) {
if($var == a) {
return c;
}else{
0268切れちゃいましたすみません
2006/03/21(火) 04:04:39ID:???}
}
こんな感じにしてみたいんですが、if($var == a)この部分をどう表現すれば良いのかわかりません
0269nobodyさん
2006/03/21(火) 04:08:34ID:???0270nobodyさん
2006/03/21(火) 04:11:16ID:0DB4pSWbよろしくお願いします。
0271nobodyさん
2006/03/21(火) 04:56:08ID:???$q = preg_quote($A);
if (preg_match("/^$q\$|^$q\\W|\\W$q\$|\\W$q\\W/i", $var))
// もっといいやり方あるかも・・・
>>270
(int) date('Ymd', strtotime($str));
0272nobodyさん
2006/03/21(火) 04:56:27ID:???よし、正規表現を勉強してきなさい。
難しくないからさ。簡単にで良いから。
ちなみにそのif分では、$varの中身がaかどうか、になってしまうよ。
>>269
よし!スレタイを百回読み直して来い!
>>270
俺ならsplitして文字列結合しちゃう。
0274nobodyさん
2006/03/21(火) 08:37:01ID:FCNG8e7gレンタルサーバーでの利用のため、少し利用に制限があります
ID名でデータベース名が与えられているのですが、実際にこの中に数値云々をいれて
それを閲覧するにはどのようにすればいいんでしょうか?
また、テーブルって複数の独立したものをいくつも作れるんでしょうか?
いったん作ったものって消えないんですか?どうやって確認すれば?
疑問がいっぱいです。webで調べてもあまり納得のいく説明がなかったもので・・・・
0275nobodyさん
2006/03/21(火) 08:49:24ID:???ここはPHPスレです
0276nobodyさん
2006/03/21(火) 08:53:09ID:FCNG8e7g0277nobodyさん
2006/03/21(火) 09:19:13ID:???見てないとは思うけど
275はphp以前の問題だと言いたいんだと
まず、MySQLやSQLを知ってからphpをやれと。一度になんでもかんでも理解できるのか?
まわり道のようで一直線。
0278nobodyさん
2006/03/21(火) 09:40:16ID:???何でもエクセルで処理しようとしてるようなもの。適材適所で使い分けるべき。
0281nobodyさん
2006/03/21(火) 10:32:31ID:???>疑問がいっぱいです。webで調べてもあまり納得のいく説明がなかったもので・・・・
PHPとMySQLって単語の両方が書名に入ってる本を数冊本屋で買って来い。
0282nobodyさん
2006/03/21(火) 11:33:21ID:???0283nobodyさん
2006/03/21(火) 13:36:26ID:???if ($a == "A") {
echo "Aが含まれています。";
}
条件の設定方法がよくわかりません。
教えてください。
0284nobodyさん
2006/03/21(火) 13:53:46ID:FDfwTN3iif(ereg("A", $a))
0285nobodyさん
2006/03/21(火) 14:00:15ID:???それは、$aが"A"に一致する場合の条件式。
やりたい事は「文字列の中に含まれているかどうか」なので、
マニュアルの関数の分類で、文字列に対するものを探してみる。
ttp://www.php.net/manual/ja/
そのまんま、「Strings(文字列関数)」って分類がある。
それをクリックすると文字列に関係する関数の一覧表が表示される。
で、説明文を読みながら使えそうなものが無いか探していくわけだ。
・strcmp -- バイナリでも使える文字列比較 、ってのが使えそうだなと思ったら、
さらにクリックして詳しい内容を見ていく。
するってーと、$a == "A"と同じように一致するかどうかを調べる関数だと分かる。使エネ。
・stripos -- 大文字小文字を区別せずに文字列が最初に現れる位置を探す
今度はこいつが目に付く。読んでみると、falseじゃなきゃ指定した文字が含まれると判断してよさそうだ。
更に他の関数にも使えそうなものはあるが、大体こういう感じで探していくことになる。
0287nobodyさん
2006/03/21(火) 15:43:06ID:???function A {
return a;
return b;
}
で良いのでしょうか?
これでやってみたんですが出来なくて……
0289nobodyさん
2006/03/21(火) 15:55:00ID:???マニュアルのreturnのページを見ると、
> 関数内で呼び出されると、return()文は即座にその関数の実行を停止し、引数を関数の値として返します
とある。読んだ通りだな。
で、複数の値を返す場合はどうすりゃいいのかってーと、
・配列を返す
・リファレンスを返す
つーやり方がある。
0290nobodyさん
2006/03/21(火) 15:57:27ID:???やっぱり無理なんですか……
文中のURIとメアドを抜き出して自動リンクする関数を作りたかったのですが、
個々を作ることが出来てもそれを一つに纏めることが出来なくて困っているんです
function autolink($A) {
return preg_replace(URIの自動リンク);
return preg_replace(メアドの自動リンク);
}
みたいに出来ないかなーと思っていたのですが、
もしこうする場合はどうすれば良いのでしょうか?
0291nobodyさん
2006/03/21(火) 16:11:00ID:???preg_replace("/ALT=\"([^^]*)\"/","",$DATA[1]);
これでやっても無理だったんですがどこが間違っているでしょうか!?
0292nobodyさん
2006/03/21(火) 16:11:40ID:???0293nobodyさん
2006/03/21(火) 16:15:21ID:???0294nobodyさん
2006/03/21(火) 16:18:20ID:???0296nobodyさん
2006/03/21(火) 16:28:04ID:???ALT="aあ"なのかALT="任意の文字"なのかわからんがな。
0298nobodyさん
2006/03/21(火) 16:38:56ID:???アルファベットと漢字が混じってるんです。
漢字が入るとpreg_replaceで置換できないとかはあるのでしょうか!?
0299nobodyさん
2006/03/21(火) 16:45:57ID:???出来たらやり方を教えて欲しいです。(検索語句など)
0300nobodyさん
2006/03/21(火) 17:30:39ID:???0301nobodyさん
2006/03/21(火) 17:33:30ID:???配列出来たんですか、知りませんでした
おかげで何とかやりたいことが出来るようになりました
ありがとうございました
0303nobodyさん
2006/03/21(火) 18:29:51ID:???http://pear.php.net/manual/ja/package.xml.xml-rss.php
なんかPEAR重いな…
0304nobodyさん
2006/03/21(火) 19:29:59ID:???特定(じゃないかもしれないが)のサイトで配信している
RSSを読み込んで出力するものを作りたいって事じゃないか?
0305nobodyさん
2006/03/22(水) 00:35:33ID:E+eV7vwAつ
http://pear.php.net/manual/en/package.xml.xml-rss.example.php
0306nobodyさん
2006/03/22(水) 00:47:21ID:w0U7WoXt0307nobodyさん
2006/03/22(水) 01:12:41ID:???全ての SQL は mysql_query で出来る
0308nobodyさん
2006/03/22(水) 01:59:18ID:???と粘着してみる
やっと具体的な質問が出来たなGJ
PHPからMySQLのテーブルを作成できるし、操作出来る。
0309nobodyさん
2006/03/22(水) 04:52:32ID:???---
21.名前:管理人
こちらこそよろしくお願いします
20.名前:ななし
はじめまして。よろしくお願いします
---
DBでなくテキスト管理の場合において、記事の投稿・表示に関してもっとも効率が良い
と思われる処理の流れ(ごく一般的なものでも構いません)はどのようなものでしょうか?
ソースである必要はないので、処理の流れを書いていただけませんか?
日本語が下手なのでうまく伝わらないかもしれませんが、よろしくお願いしたします。m(_ _)m
0310nobodyさん
2006/03/22(水) 04:58:39ID:???何故かまた出来なくなってしまいました。
>>301の時点では確かに出来ていて確認したのですが、
今になってもう一度確認してみるとなんか変なことになってしまっているんです。
function autolink($url){
return preg_replace(
array(
"/((https?|ftp|news):\/\/|www\.)([\w\.\~\-\/\?\&\+\=\;\@\%\:\#\%]+)/e",
"/[\\d\\w\\.\\-_]+@[\\d\\w\\-_\\.]+?\\.[\\w]{2,3}(\\.[\\w]{2,3})?/i"
),
array(
"'<a href=\"'.('$1' === 'www.' ? 'http://' : '').'$1$3\" title=\"$1$3\">$1$3</a>'",
"<a href=\"mailto:$0\" title=\"send a mail to $0\">$0</a>"
),
"$url"
);
}
作ってみたのはこんなのなんですが、何故だか$1$3'", "$0" ), "$url" ); } ?>と表示されて、$0の部分にアンカー張られちゃってます。
何かを弄った覚えは全く無いのですが、何か問題があるのでしょうか?
ちなみにこの後にもいくつか試しに書いてみたんですが、全て何も処理されません……。
0312nobodyさん
2006/03/22(水) 05:48:00ID:uySCvhL9$1$3'", "$0" ), "$url" ); } ?>と表示されて、$0の部分にアンカー張られちゃってます。
ってスクリプトの一部が表示されているということ?
$0の部分にアンカー張られちゃってます。というのがよくわからん
一部分だけを説明すると人に伝わらない場合が多い。てか俺にはわからんです。
0313nobodyさん
2006/03/22(水) 06:37:28ID:???そうです、スクリプトの一部がそのまま表示されてしまっているんです。
$0の部分は<a href="mailto:$0" title="send a mail to $0">$0</a>となっています。
0314nobodyさん
2006/03/22(水) 06:42:56ID:???0315nobodyさん
2006/03/22(水) 06:50:12ID:???die(autolink("http://www.google.comあああああああああ[email protected]"));
こんな感じです。
0316nobodyさん
2006/03/22(水) 07:04:12ID:???310の関数の上に
die(autolink("http://www.google.comあああああああああ[email protected]"));
結果
<a href="http://www.google.com" title="http://www.google.com">http://www.google.
com</a>あああああああああ<a href="mailto:[email protected]" title="send a mail
to [email protected]">[email protected]</a>
問題は何?
0317nobodyさん
2006/03/22(水) 07:23:06ID:???いや、その何が問題なのかが解らなくて。
>>301でやったときには正常に何も問題はなかったのですが、
>>310のときにもう一度開いてみたらスクリプトがそのまま表示されていたとしか。
0318nobodyさん
2006/03/22(水) 07:30:05ID:???310の関数の上にdieをコピペしてるわけだよ。
でCLIだけど走らせたらという結果なわけ。
316の結果ならいいわけでしょ?
一度単純化して自分でやってみれ。↑のように
多分本番用のスクリプトは他に色々書いてあるだろうけど、とりあえず
何が問題かを「切り分ける」ために単純化して確認するのは定石だと思うけどな。
0319nobodyさん
2006/03/22(水) 07:38:21ID:???配列をなくしてシンプルにURLの自動リンクだけでやってみたりもしたんですが無理でした。
0320nobodyさん
2006/03/22(水) 07:49:19ID:???$php hoge.php
やってみれ。
<?php
die(autolink("http://www.google.comあああああああああ[email protected]"));
function autolink($url){
return preg_replace(
array(
"/((https?|ftp|news):\/\/|www\.)([\w\.\~\-\/\?\&\+\=\;\@\%\:\#\%]+)/e",
"/[\\d\\w\\.\\-_]+@[\\d\\w\\-_\\.]+?\\.[\\w]{2,3}(\\.[\\w]{2,3})?/i"
),
array(
"'<a href=\"'.('$1' === 'www.' ? 'http://' : '').'$1$3\" title=\"$1$3\">$1$3</a>'",
"<a href=\"mailto:$0\" title=\"send a mail to $0\">$0</a>"
),
"$url"
);
}
?>
俺はこれで316の結果が出てるが?
デバッグの方法というかアイデアも考えてバグを無くすということを含めて「プログラムを作る」ってことだぞ
0321nobodyさん
2006/03/22(水) 07:54:13ID:???新しいファイル作ってコピペしてみましたが、
結果:
$1$3'", "$0" ), "$url" ); } ?>
>>310と全く同じです……。
0322nobodyさん
2006/03/22(水) 08:07:10ID:???まぁ俺は優しいから怒らないが、ブラウザの表示をコピーしてるなら
ブラウザでソースを見てみろ。
0323nobodyさん
2006/03/22(水) 08:14:38ID:???0324nobodyさん
2006/03/22(水) 08:22:14ID:???PHP.iniの設定で、sendmailのパスは記入しました。
気になったのですが
; For Win32 only.
SMTP = localhost ←
smtp_port = 25 ←
の2行はコメントアウトしておけばよいのでしょうか?
0325nobodyさん
2006/03/22(水) 08:37:14ID:???添付の基になるiniファイルでは最初からコメントアウトされてない?
Windows以外では意味がない値なので、別にそのままでも良いけど
不要なものはコメントアウトしとくのが正しい。
0326324
2006/03/22(水) 08:43:13ID:???sendmail_from = [email protected]
の方はコメントアウトしてあったのですが
先の2行については何故かコメントアウトされてませんでした。
どうもありがとうございました、すっきりしました。
0328nobodyさん
2006/03/22(水) 09:26:57ID:???0331nobodyさん
2006/03/22(水) 12:20:10ID:????>
がくっ付いているのを見た時点で気付くべきだったか
0332nobodyさん
2006/03/22(水) 13:29:16ID:???0333nobodyさん
2006/03/22(水) 15:20:34ID:???漏れにはさっぱりだよ。
0334nobodyさん
2006/03/22(水) 15:32:28ID:???こういうスクリプトどっか配ってねーかな?ねーよな。
やっぱ自分で書かないとダメか。マンドクセ('A`)・・・
0336334
2006/03/22(水) 15:46:11ID:???よし、じゃあ言い直すぞ!
質問させて下さい。
ttp://www.nintendo-inside.jp/review/
上記サイトのような評価スクリプトに似たようなものを
どこか配布してないですか?教えてください!
どうだ、これでいいだろう。
■ このスレッドは過去ログ倉庫に格納されています