【PHP】下らねぇ質問はID出して書き込みやがれ 83
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/04/06(月) 04:14:58ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 82
http://pc11.2ch.net/test/read.cgi/php/1236532468/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0066nobodyさん
2009/04/06(月) 23:40:16ID:???$strに含まれる文字列を1bit右にずらしたいのですが思う通りの結果になりません
どなたかご教示お願い致します
$str ="abcde";
echo $str ^ 1;
006766
2009/04/06(月) 23:41:03ID:PTpMIEWr申し訳ございません
0068nobodyさん
2009/04/06(月) 23:43:47ID:???なんでXOR取ってるのか分からん
http://jp2.php.net/manual/ja/language.operators.bitwise.php
0069nobodyさん
2009/04/06(月) 23:48:01ID:???echo $str >> 1;
0070nobodyさん
2009/04/07(火) 00:07:56ID:???お陰で勢いが80超えた^^
0072nobodyさん
2009/04/07(火) 06:14:03ID:???0073nobodyさん
2009/04/07(火) 14:08:44ID:4/ZzdyJuPHPはapacheのモジュールとして動いているので、現在のapacheで運用されている
# cat /etc/logrotate.d/httpd
------------------------------
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}
------------------------------
と同じものは書かなくても良いのですよね?
以下のもので大丈夫でしょうか?
# vi /etc/logrotate.d/mysytem
------------------------------
/var/log/mysystem/systemlog {
missingok
}
------------------------------
0075nobodyさん
2009/04/07(火) 16:31:53ID:4/ZzdyJuありがとうございます。
Red Hat Enterprise Linux ES release 3 です。
0077nobodyさん
2009/04/07(火) 16:38:40ID:???ディストリとか関係ないからw
/etc/logrotate.d/httpd にログファイルのパスを追加するだけ。
0078nobodyさん
2009/04/07(火) 17:30:41ID:4/ZzdyJuあ、そっか。。 ありがとうございます!
# vi /etc/logrotate.d/httpd
------------------------------
/var/log/httpd/*log /var/log/mysystem/systemlog {
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}
------------------------------
0080nobodyさん
2009/04/07(火) 19:57:49ID:???ttp://www.gekiura.com/guest/m0005418.html
0082nobodyさん
2009/04/07(火) 21:57:01ID:nY33/bGjチェックボックスで選ばれた行をAから削除しBへ書き込むプログラムを
色々考えたのですがさっぱり検討もつかず1週間経ちます
どうかヒントだけでもいいので教えてください。
0083nobodyさん
2009/04/07(火) 22:09:02ID:???0084nobodyさん
2009/04/07(火) 22:11:16ID:???一意なキーがあればあとは簡単だと思うが
0085nobodyさん
2009/04/07(火) 22:58:39ID:???一応、一問一答でwikiにためてたりスレのテンプレを記録するために借りてみた
一緒に更新お願いします
PHP用のwikiってことでお願いします
ページ下部のアフィは勝手についたもので俺には1円も入らないから気にしないで下され
0086nobodyさん
2009/04/07(火) 22:59:22ID:???0087nobodyさん
2009/04/07(火) 23:03:12ID:???0088nobodyさん
2009/04/07(火) 23:15:48ID:???でいいじゃん
0089nobodyさん
2009/04/07(火) 23:17:18ID:???0090nobodyさん
2009/04/08(水) 03:33:41ID:0hFuJwMz変数の中に入ってる文字列をファイル名として
変数.txtとか変数.jpgのようにあらわすにはどうすればいいのでしょうか?
0091nobodyさん
2009/04/08(水) 03:51:35ID:???$x = "hogehoge";
echo "$x.txt";
http://jp.php.net/manual/ja/language.types.string.php#language.types.string.parsing
0092nobodyさん
2009/04/08(水) 08:18:56ID:???どっちがいいんだかいつも迷う
0093nobodyさん
2009/04/08(水) 11:11:24ID:r8DEvZ6R特にこだわりなくforでやってても問題ないでしょうか?
○○な理由で、できる限りこっちでやったほうがいいみたいなことないですかね。
よろしくお願いします。
0094nobodyさん
2009/04/08(水) 11:13:40ID:???だと、エディタが変数の色代えてくれるけど、
設定で"の中の$も代えてくれるかもしれん
0095nobodyさん
2009/04/08(水) 12:55:37ID:cjj/9xGOリクエストパラメータが正の整数であるかどうかをチェックしたいのですが、
どういう方法が良いでしょうか?
is_int()は使えませんが、is_numeric()も良くなくて、結局 preg_match()を
使うしかないのでしょうか?
(参考)PHPと16人の仲間達 : is_numeric は・・・なぁ
http://php16.exblog.jp/4720976/
0096nobodyさん
2009/04/08(水) 13:12:20ID:???0098nobodyさん
2009/04/08(水) 13:16:47ID:???009995
2009/04/08(水) 13:45:02ID:cjj/9xGOあるリクエストパラメータが、通常の正の整数(の文字列化)になっているか
を判別したいのです。
リクエストパラメータは文字列ですから、is_int()は使えません。
is_numeric()はある程度使えますが、"+0123.45e6"もtrueになってしまいます。
・trueとなってほしい値。
"1", "0001", "132", etc...
・falseとなってほしい値
"0", "-1", "1.0", "0xFF", "+0123.45e6", etc...
これにかなうのは、 preg_match('/^\d*[1-9]$/', $param)
しか思いつかないのですが、他に何か良い方法はないでしょうか?
0100nobodyさん
2009/04/08(水) 13:48:37ID:???それ、間違ってるだろ。とりあえず。
preg_match('/^[1-9]+\d*$/D', $param)
0101nobodyさん
2009/04/08(水) 13:49:06ID:???010295
2009/04/08(水) 13:56:41ID:cjj/9xGOそれは >>99の "0001" が trueになりませんし、
"0"がtrueになってしまいます。
>>101
どちらもfalseです。trueになるのは"正の整数"と>>95,>>99で書いています。
あと、符号を含むものはfalseのつもりでした。
しかしこの流れだと、正規表現以外なさそうですね。
0103nobodyさん
2009/04/08(水) 14:01:54ID:???http://php16.exblog.jp/6067489/
【結果】
strpos = 1.4秒
preg_match = 7.0秒
・・・あー・・・結構違いますね・・・。
寝ます。
http://php16.exblog.jp/4940100/
上記の結果は・・・
"1234" の出力になります。("1212"じゃなく)
つまり、static宣言した変数の値は
メソッド呼び出し元のインスタンスが変わっても保持されています。
なんでこうなってんだろう?
とか言ってるレベルの奴のblogだぞ?
010495
2009/04/08(水) 14:13:53ID:cjj/9xGO引用したページが私の質問の意図をうまく説明するものだったので貼りました。
他のページが全部間違いでも問題ないと思います。
0105nobodyさん
2009/04/08(水) 14:15:08ID:???is_numeric("0xFF"); // 16進表記
や
is_numeric("+0123.45e6"); // 指数表記
をTRUEとしてしまうようです。(マニュアルに書いてありますけどね)
マニュアルに書いてあるんじゃん
0106nobodyさん
2009/04/08(水) 14:16:58ID:???それ10の倍数だとfalseだけど。
ctype_digit($param) && $param > 0
でいいんじゃないの。
010795
2009/04/08(水) 14:24:10ID:???ご指摘のバグは今さっき気づいたところです。
> ctype_digit($param) && $param > 0
まさに望みどおりのものです。ありがとうございます。
010895
2009/04/08(水) 14:24:40ID:cjj/9xGO0109nobodyさん
2009/04/08(水) 14:44:33ID:???何かみてくれをよくするテクニックを纏めたオススメの書籍はありますか?
0110nobodyさん
2009/04/08(水) 15:09:24ID:???その比べてるデザインの優れたと思うものを真似してみればどうだろう
好みなんて人それぞれだし万人が好むと思って押し付けても違ったりするから
0111nobodyさん
2009/04/08(水) 15:23:02ID:???0112nobodyさん
2009/04/08(水) 15:31:12ID:???いくらみてくれはよかっても、アフィをみてほしいのか記事(内容)をみてほしいのか
意味不明なサイトじゃなきゃ問題ない。
もちろん見た目は大事だけど内容と見易さ(使いやすさ)だよ。
0113nobodyさん
2009/04/08(水) 16:59:27ID:???このスレではPHPの文法以外のことを聞いても、あんまり答えは返ってこない。
悪いこと言わないから、この辺↓に移動して聞きなおしたほうがいいと思うよ。
Webサイト制作初心者用質問スレ Part 208
http://pc11.2ch.net/test/read.cgi/hp/1238669869/
0115nobodyさん
2009/04/08(水) 17:39:59ID:9xKyaecaたとえばチャットシステムのように
数秒単位でデータの挿入、更新、削除が行われる場合ってどっちがいいんでしょうか。
どっちでも扱いやすいほうで、構いませんか?
0116nobodyさん
2009/04/08(水) 17:42:13ID:???0117nobodyさん
2009/04/08(水) 18:13:22ID:???0118nobodyさん
2009/04/08(水) 18:20:30ID:???サンクス
先ずは、見易さ第一に作り次に自分が綺麗と思うサイトのHPのデザイン
を真似する事から始めます。
※真似されたHPの管理人は怒るかもしれませんが。
0119nobodyさん
2009/04/08(水) 20:24:35ID:???使ったことないけど。
0120nobodyさん
2009/04/08(水) 22:25:24ID:???0122nobodyさん
2009/04/08(水) 23:16:49ID:tkomkeANurl先とは違う内容が$fileに入ってしまいます
関数一覧のページなんですがどのようにしてしっかり取得することができるのでしょうか?
<?php $file = file_get_contents("http://jp.php.net/manual/ja/indexes.php";);
echo $file;
?>
0123nobodyさん
2009/04/08(水) 23:33:25ID:???0124nobodyさん
2009/04/09(木) 00:04:47ID:m7XTC3qO【PHPのバージョン】php5.2.5
【質問内容】
文字列の中から英数字の部分だけを抽出したい場合は、どうやればいいでしょうか?
$str = 'あああaaa_いいいiii_ううう-20090401';
:
echo $result; // aaaiii20090401 と表示される
ereg("[a-zA-Z0-9]+", $str, $regs);
$result = $regs[0];
echo $result;
だと「aaa」しか取得できませんでした。
0125nobodyさん
2009/04/09(木) 00:35:29ID:???基本は、ループの頭に差し掛かった時点でループ回数が分かる場合はfor。
ループを回してみないと分からない場合はwhile。
whileの場合はループ変数がどう変わるかを意識しながらコードを読まなければいけない。
forならば基本的にループ回数はループに入る時点で分かるので、ラクに読める。
ただまあ、例外はいっぱいある。
「1000以下の3の倍数を全て列挙」なんて場合、事前にループ回数を調べる事はできる。
だけど、「変数が1000を超えるまで繰り返す」という意図ならば、それを反映してwhileで書いた方が読みやすいわけで。
一般論にするなら、自分の意図がもっとも読者に伝わりやすい表現を選べ、という事になる。
0127nobodyさん
2009/04/09(木) 02:12:40ID:8Md27rPNある文字がURLエンコードするべきかどうかってどうやって判断すればよいでしょうか?
初心者的な質問ですいません。。。
0128nobodyさん
2009/04/09(木) 02:19:15ID:???http://ja.wikipedia.org/wiki/URL%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89
0130nobodyさん
2009/04/09(木) 05:12:24ID:???0131130
2009/04/09(木) 05:15:38ID:sBmn/pA0でも、その方法が調べてもわからないんです
PHP暦は一年でそこそこです
0132124
2009/04/09(木) 08:53:26ID:???詳しく見てないけど、結構情報があるみたいですよ
Google rank 取得方法 の検索結果 約 321,000 件
http://www.xdelta.net/blog/FreeBSD/2006/01/31/p134
Googleのページランクを知りたい場合は、対象となるURLとともに、そのURLのch値といわれるチェックサムが、Googleに問い合わせする際、必要になる。
ch値の算出方法については、しばらく謎とされてきたが、
Google PageRank Checksum Calculator
で、そのアルゴリズムが公開されてる。
http://mlog.euqset.org/archives/php-users.php.gr.jp/33290.html
[PHP-users 33290]スクリプトでのGOOGLE pagerank取得について (続)
○ クラスに書き直したソースコードを公開しました
デモ
http://linux.ohwada.jp/demo/google_pagerank/
説明
http://linux.ohwada.jp/modules/smartsection/item.php?itemid=397
ダウンロード
http://linux.ohwada.jp/modules/wfdownloads/singlefile.php?cid=8&lid=98
↑この「説明」ページに、PHPでGoogle Rankを取得する方法が解説されていました。
0133nobodyさん
2009/04/09(木) 09:01:18ID:???preg_match_all("/[a-zA-Z0-9]+/", $str, $regs);
$result = implode("",$regs["0"]);
0134nobodyさん
2009/04/09(木) 09:03:14ID:???0135124
2009/04/09(木) 09:12:16ID:???$str = 'あああaaa_いいいiii_ううう-20090401';
preg_match_all("([a-zA-Z0-9]+)", $str, $matches);
$regs = $matches[0];
foreach($regs as $reg) {
$result .= $reg;
}
echo $result;
どうもありがとうございました>>124
0137124
2009/04/09(木) 09:19:33ID:???正規表現(涙)は、一度本を読んだんですが、頭に入らないです><
誰かチートシート(早見表)を作って配布してくれないですかね?
…てか、言いだしっぺ=自分で叩き台を作って、ここで添削してもらえばいいかな?
0138124
2009/04/09(木) 09:44:05ID:???(1) Perl互換の正規表現
http://jp.php.net/manual/ja/book.pcre.php
(2) POSIX拡張の正規表現
http://jp.php.net/manual/ja/book.regex.php
の2種類が用意されてるんですね。
↓Perl互換の正規表現(PCRE)のチートシートは配布されてました。
http://phpspot.org/blog/archives/2006/07/phppcre.html
↓チートシートじゃないけど、正規表現で使えるパターンのまとめ
http://www.rider-n.sakura.ne.jp/regexp/regexp.php
PHPのマニュアルでは処理速度が違うとあったけど、それぞれ一長一短があるのでしょうか?
=使い分ける場合の基準はあるのかな?
http://php-web.net/regular/posix.html
PHPでは、Posix拡張正規表現を利用することができます。
Posixとは、Portable Operating System Interface for UNIX の略で、 Linux を始めとする Unix 互換OSが満たすべき仕様を定めたものです。
Perl互換正規表現よりも機能は限定されていますが、汎用性は高いです。
POSIX互換正規表現<PERL互換正規表現ということで、簡単に済む場合はPOSIX、複雑な場合はPCREの出番になるのかな?
正規表現でうまく処理できない場合は、ANTLRという文字処理のライブラリを使えばいいそうですけど、PHPでANTLRが使えるライブラリとか配布されているんでしょうか?
http://pg.thumbnailcloud.net/data/frame_252694.aspx
0139nobodyさん
2009/04/09(木) 10:21:07ID:3wJSGAQjネットのLinuxサーバ上ではパーミッションの問題で作成出来ない場合があります。
その場合、「パーミッションエラーで作成できない」事を
伝える必要があると思うのですが、そう言うことを調べる関数ってあるのでしょうか?
0140nobodyさん
2009/04/09(木) 10:32:12ID:???0141nobodyさん
2009/04/09(木) 10:37:10ID:???レンタルサーバだと、モジュール版のPHPがセーフモードに設定されていることが原因で、mkdirの利用が制限されている場合もありますね。
http://jp.php.net/manual/ja/function.mkdir.php
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
↑mkdirの返り血(FALSE)を浴びるだけではダメですか?
0142139
2009/04/09(木) 11:15:45ID:3wJSGAQjつまり、単純に
if(!mkdir("test")){
die("ディレクトリが作成できませんでした。パスかパーミションを確認して下さい。");
}
みたいな感じで良いですかね?
0143nobodyさん
2009/04/09(木) 12:52:32ID:GoKaiEbvローカルの特定のファイルをfile_get_contentsで取得したいのですが
以下ではfailed to open streamで開けませんでした
$filenameをhttp://localhost/index.htmlからhttp://127.0.0.1/index.html
$filename = "http://localhost/index.html";
$file = file_get_contents($filename);
echo $file;
http://q.hatena.ne.jp/1202255873を見てhostファイルが原因だと思うのですが
どのようにhostファイルを書き換えればよろしいでしょうか?
0144nobodyさん
2009/04/09(木) 12:53:27ID:GoKaiEbv全文修正版です↓
vistaでphp5.2.8とapache2.2使ってます
ローカルの特定のファイルをfile_get_contentsで取得したいのですが
以下ではfailed to open streamで開けませんでした
$filenameをhttp://localhost/index.htmlからhttp://127.0.0.1/index.htmlに直すと取得できました
$filename = "http://localhost/index.html";
$file = file_get_contents($filename);
echo $file;
http://q.hatena.ne.jp/1202255873を見てhostファイルが原因だと思うのですが
どのようにhostファイルを書き換えればよろしいでしょうか?
0145nobodyさん
2009/04/09(木) 12:59:56ID:pGRnXLlIこれを1次元に直したいのでforeachを使いました
$ary[0][0]=1;
$ary[0][1]=2;
$ary[0][2]=3;
$ary[0][3]=4;
$ary[0][4]=5;
$ary[0][5]=6;
foreach($ary as $v) {
foreach($v as $vv) $h[] = $vv;
}
標準関数か何かでこれよりもスマートなやり方があった記憶があるのですがどなたかご教示お願い致します
0146nobodyさん
2009/04/09(木) 13:35:58ID:???$h= $ary[0];
とか??
0148nobodyさん
2009/04/09(木) 14:51:46ID:IIKZIRWt背景がいつも黒になってしまうのですが、
どのように設定すればよいのでしょうか?
0149nobodyさん
2009/04/09(木) 16:01:29ID:OhmeRcsrミラーサイトは公式サイトに断らなくても公開してもいいのでしょうか?
また、公式サイトで公開されているhtml形式のヘルプをダウンロードしてそのまま自分のレン鯖においても問題ないでしょうか?
0150nobodyさん
2009/04/09(木) 16:32:39ID:???0151nobodyさん
2009/04/09(木) 16:37:45ID:???0153nobodyさん
2009/04/09(木) 19:50:40ID:???SEO対策なのかな?
PHPの公式マニュアルよりも、検索結果で上位に来るミラーサイトが多いですよね
自分の場合は、PHPの公式マニュアルをブラウザのお気に入りに入れてます。
http://jp.php.net/manual/ja/
google検索でヒットした結果を、改めてPHPの公式マニュアルで確認すればOK
0155nobodyさん
2009/04/09(木) 23:15:50ID:YWPkP/9rこのときブラウザの青い帯の部分(タイトルが表示される部分)に
任意の好きなタイトルを表示させたいのですが不可能でしょうか?
どなたかご教示お願い致します
【test.php】
<?php
header("Content-Type: text/plain");
echo "test";
?>
0156nobodyさん
2009/04/09(木) 23:32:12ID:???えっとね。君にはまだphp早い。
まずはhttp://www.w3.org/から始めよう。
ここを理解したらhttp://www.apache.org/
いって最後にhttp://www.php.net/。
その青い帯作ってる糞マイクロソフトにも言っておいて。http://www.w3.org/を50万回読めと。
0157nobodyさん
2009/04/09(木) 23:40:47ID:???0158nobodyさん
2009/04/10(金) 00:12:42ID:???たぶん君も知識が足りないと思うんだがfxのタイトルバーの色が何色か見てごらん
あとoperaもな
大丈夫^^?
0159nobodyさん
2009/04/10(金) 00:18:26ID:???角丸つくるのにいまだに透過ジフ?w
0160nobodyさん
2009/04/10(金) 00:22:27ID:???0162nobodyさん
2009/04/10(金) 00:28:34ID:z5toBuCmファイルを一意な名前で renameする良い方法ないですか?
tempnam を使ってファイル名を生成すると、その時点でファイルが生成されてしまうため、
renameできません。tempnam で作った後に unlinkするのは、やっぱり気分が良くないし、
厳密には一意性が保証されない気がするので。
0163nobodyさん
2009/04/10(金) 00:29:13ID:???<title>好きなタイトル</title>を出力するしかない
■ このスレッドは過去ログ倉庫に格納されています