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

【PHP】下らねぇ質問はID出して書き込みやがれ 95

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/04/19(月) 09:15:05ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 94
http://pc11.2ch.net/test/read.cgi/php/1268835461/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0511nobodyさん2010/05/11(火) 14:54:39ID:???
>>510
strtotime('20:30:30') - strtotime('18:30:30')

かっこいいかどうかは知らない
0512nobodyさん2010/05/11(火) 17:36:49ID:???
>>503
Webメールとかよさげじゃね
sendmailとかsqlとか使って
0513nobodyさん2010/05/11(火) 17:38:02ID:???
Arduinoがいいんじゃね?
0514nobodyさん2010/05/11(火) 17:50:13ID:UaSvlPAa
みなさんありがとう。
Webメールとかちょうどいいかもしれないです。
sqlとかと併せてDBも勉強させればいいかな。
ちょっとその方向でやらせてみます。
0515nobodyさん2010/05/11(火) 19:37:29ID:???
作らせるだけじゃなくて論理的な勉強会開けよ
Webで一番重要なのはセキュリティだしその辺もな
あんまゆとりを多く生み出さないでくれ
0516nobodyさん2010/05/11(火) 20:21:50ID:3JPUIqXp
論理的な勉強も必要ですが、その論理を理解するのに必要な最低限のスキルを先に身につけてもらおうかと。
勉強会で全ての項目でいちいち説明してたら進まないですから。
まぁ実際に最初にそういうの開いて最初に何か作らせて見たほうがいいという結論になったので色々と作らせてます。
05174842010/05/11(火) 21:21:00ID:???
やっぱりつながりません…。
なんでか分からないでしょうか?
0518nobodyさん2010/05/11(火) 21:57:06ID:???
実際なにか作りながら楽しさを教えるのもいいんだが
基礎の部分をしっかりと教えておいたほうが
後々差がで出てくる気がする。
0519nobodyさん2010/05/11(火) 22:03:15ID:???
>>517
phpinfoでmysqlの項目が出ないのなら、
mysqlの拡張モジュールが読み込まれてない。答え出てるやん。
0520nobodyさん2010/05/12(水) 00:22:23ID:???
PHP以外の言語を勉強させたら?
今からやる言語ならわざわざPHP選ぶ必要ないんじゃ
慣れてしまう前にPythonやRubyなどの言語仕様がまともなものに切り替えれば
0521nobodyさん2010/05/12(水) 01:10:56ID:???
まずは日本語からかな
0522nobodyさん2010/05/12(水) 01:45:44ID:???
>>520
覚えて無駄になることはない。
いろんな言語やって困るのは 文字列の長さ求めるのはなんだったっけというので悩むぐらいだわ。
0523nobodyさん2010/05/12(水) 13:41:31ID:A9U/FhEp
PHPがナンバーワン
他のスクリプト言語と大差はない
サーバーの対応数が段違い
0524nobodyさん2010/05/12(水) 15:17:24ID:???
>>523
対応数はPerlのが上じゃない?OSインスコの流れから考えても。
0525nobodyさん2010/05/12(水) 15:25:02ID:A9U/FhEp
CGI対応サーバーならPHP対応だが。
その逆は必ずしもないだろ。
動的プログラムで一番の普及率は間違いなし。
0526nobodyさん2010/05/12(水) 15:30:30ID:???
あ、CGIといえばPHPっていう時代になってんの?
0527nobodyさん2010/05/12(水) 15:33:44ID:???
CGI対応をうたっている所ならPHPも対応している場合が多い
だが、PHP対応をうたっていてもCGI対応しているとは限らない

と言いたいのでは無いかと。

個人的にはレン鯖使わないからどうでもいいが。
0528nobodyさん2010/05/12(水) 15:35:32ID:A9U/FhEp
ちがうが。
サーバーサイドプログラムとしてCGIが使えるなら
ほぼPHPモジュールも動くと言うこと。
PHPが動いてもCGI(Perl)も使えるとは限らない。
0529nobodyさん2010/05/12(水) 15:38:43ID:???
なんだと!
0530nobodyさん2010/05/12(水) 15:42:33ID:???
世界が震撼するな
0531nobodyさん2010/05/12(水) 15:44:47ID:???
httpdを限定してすまないが、apacheとmod_cgiの設定をして、phpが動かない環境は多々あれど、
perlが動かない環境ってあるのかね。
0532nobodyさん2010/05/12(水) 15:54:50ID:???
>>528はCGIが何かわかってないんじゃないだろうか
0533nobodyさん2010/05/12(水) 15:57:19ID:???
CGI(Perl)
という表記でいろいろ理解できた。
0534nobodyさん2010/05/12(水) 15:59:04ID:A9U/FhEp
現実を知らないようだな
自分で設定出来れば何でも動くだろうが
レンタルサーバーではPHPの普及度の方が上
05355262010/05/12(水) 16:00:25ID:???
>>534
うん、今の時代のレンサバをしらないんだ。
好奇心から、PHPは使えるがPerlは使えないレンサバのサービス提供者を知りたいと思う。
0536nobodyさん2010/05/12(水) 16:01:06ID:???
ロリポしか使ったことないからどうでもいいや
05375262010/05/12(水) 16:01:53ID:???
ちなみにそれがありえないとは思っていなくて、Perlは元来HTTPを想定した言語じゃなかったから
CGIとして動作させるためにはやや煩雑な点があるので、初級者の混乱を避けるために
PHPへ誘導したい気持ちは分かるんだ。
0538nobodyさん2010/05/12(水) 16:02:50ID:A9U/FhEp
PHPのほうが安全と見なされてるんだろ。
マルチスレッド、バックグラウンドで動作せず
同じ事をやるならPHPの軽く負荷が少ない。
CGIは動かずPHPが動くのはそのせいでは。
CGI許可したらPHPも動くのはそのせいでは。
0539nobodyさん2010/05/12(水) 16:03:50ID:???
なんだと!
ってか今想定しているHTTPサーバを教えてくれ
0540nobodyさん2010/05/12(水) 16:04:57ID:???
で、例えばどこのレンタルサーバーがPHPのみ許可してるの?
ググってもどっちも許可しか見当たらないよぉ
0541nobodyさん2010/05/12(水) 16:06:37ID:???
http://server.dlink.info/lrn/65.html
CGIのみはあるけどPHPのみはないよぉ
0542nobodyさん2010/05/12(水) 16:08:29ID:A9U/FhEp
例
http://www.000webhost.com/

一覧から探してくれ
http://www.absolutely-free-hosting.com/free_hosts_01.php
http://www.free-webhosts.com/free-php-webhosting.php
0543nobodyさん2010/05/12(水) 16:09:20ID:???
>>531
鯖自体にPerlは入ってるのにExecCGIのせいでCGI使えない環境ならあるかな
そういうとこはPHP入れてないね

mod_phpが仕事してくれるのにシェルスクリプトやPerlで書いたCGIが動かないとこは知らない
0544nobodyさん2010/05/12(水) 16:11:22ID:???
>>542
なるほど。時代はPHPだな。
05455262010/05/12(水) 16:14:45ID:???
>>542
ありがとう。Perl使わないときに検討材料にさせてもらうよ
0546nobodyさん2010/05/12(水) 16:40:48ID:???
しかしPHPが一番とか言ってるやつは
何がそんなに良くて一番と言ってるんだ?
0547nobodyさん2010/05/12(水) 16:46:13ID:???
仕事量
情報量
ユーザ数
0548nobodyさん2010/05/12(水) 16:46:34ID:???
普及している=優れている という誤解
0549nobodyさん2010/05/12(水) 16:53:35ID:A9U/FhEp
ランキング上位はC言語系統の言語がしめる。


1 Java 17.482
2 C 16.215
3 PHP 10.071
4 C++ 9.709

人気プログラミング言語ランキング ‐ PHP、C++を抜いて3位
2010/01/12
http://journal.mycom.co.jp/news/2010/01/12/022/index.html
0550nobodyさん2010/05/12(水) 17:16:03ID:???
ユーザー数は多いが言語としてのセンスは最低だよな。
0551nobodyさん2010/05/12(水) 17:25:26ID:???
perlはperl好きというかLarry Wall好きが多いし、
rubyも言語仕様にひかれて開発陣になってる人が多いだろう(まつもとゆきひろ好きという人はいないよね?w)
一方phpの日本のコミッタは、仕事で一切php使わないし使いたくもないと言ってるw

嫌々使ってる人が結構いる面白い言語だ。
0552nobodyさん2010/05/12(水) 17:28:17ID:???
PHPが流行った一つは、スクリプト内にHTMLも混合して書けるってことだろうな。しかし使えば使うほどツマラン言語だよな。
0553nobodyさん2010/05/12(水) 17:34:45ID:???
PHPって変数の宣言を強制ってできないの?
0554nobodyさん2010/05/12(水) 17:48:56ID:???
>>553
宣言が必要ないからな・・・
一応、error_reportingでE_NOTICEを含めれば
未定義の変数を使おうとしたら、Notice: Undefined variable: エラーがでるようになる
0555nobodyさん2010/05/12(水) 20:20:47ID:???
とりあえずID:A9U/FhEpはPHPはいいから日本語を勉強してくださいw
0556nobodyさん2010/05/12(水) 20:48:49ID:???
<?php
$b = true;
if ($b) {
$s = "hoge";
}
echo $s;
?>

これが動くから気持ち悪いよな
0557nobodyさん2010/05/12(水) 21:18:16ID:???
へー
0558nobodyさん2010/05/12(水) 21:39:56ID:???
>>556
ん?
どこが気持ち悪いのか理解できないんだが
0559nobodyさん2010/05/12(水) 21:41:16ID:???
Web界のVBと聞いて手を出します
0560nobodyさん2010/05/12(水) 21:51:34ID:???
>>558
$sはグローバルスコープで定義されてない

<?php
$b = true;
if ($b) {
$s = "hoge";
echo $s;
}
?>

これなら気持ち悪くないけどな
0561nobodyさん2010/05/12(水) 22:09:47ID:???
じゃあそうすれば?
他の言語から来た人はすぐ気持ち悪いという。
0562nobodyさん2010/05/12(水) 22:20:36ID:???
グローバルで呼び出したいのなら、
<?php
$b = true;
$s;
if ($b) {
$s = "hoge";
}
echo $s;
?>
だな。

他の言語云々ではなくて、言語仕様として気持ち悪いということでしょ。
これじゃスコープの意味がないし。
0563nobodyさん2010/05/12(水) 22:32:51ID:???
PHPはいつからif文がブロックになったんだ
0564nobodyさん2010/05/12(水) 22:36:05ID:???
JavaScriptとかでも同じじゃない?
0565nobodyさん2010/05/12(水) 22:44:34ID:???
>>564
というよりインタプリタ全般かな
コンパイラ言語だとコンパイル時にエラー出るはず

PHPの場合初心者が扱いやすいように言語仕様をあえて適当にしてるから(多分…)
その辺も理解しないとね
0566nobodyさん2010/05/12(水) 22:54:26ID:???
PHPにはスコープがグローバルと関数しかありませんで済む話だな
ブロックスコープが欲しい奴はコミッタになるか他の言語でやれよという
0567nobodyさん2010/05/12(水) 23:00:54ID:???
コンパイラ言語しか知らないんでしょ。
マニュアルも読まないで語ってる時点で終わってるし。
0568nobodyさん2010/05/12(水) 23:18:22ID:???
きもちわるいといっただけでなぜに喧嘩腰www
0569nobodyさん2010/05/12(水) 23:23:32ID:???
信者というものはそういうもの
0570nobodyさん2010/05/12(水) 23:34:16ID:???
ん?global
これで解決すんだろ
ミジンコでもわかったわ
0571nobodyさん2010/05/12(水) 23:38:07ID:???
参照渡しにして下さい
0572nobodyさん2010/05/13(木) 00:03:08ID:???
>>568
スコープと文をごっちゃにして気持ち悪いといったアホに対して
何言ってるんだ的なレスしかなくね?
0573nobodyさん2010/05/13(木) 00:12:40ID:???
気持ち悪いは喧嘩腰じゃないんだ
言い訳に無理がありすぎる
0574nobodyさん2010/05/13(木) 00:36:09ID:gguhT7VA
質問:

PHP で、クラスの中からメンバ変数 x を参照するときは、
$this->x のようにします。

でもいちいち $this->… と書くとくどいし、
見通しが悪いコードになる。

これを回避する方法はありますか?
0575nobodyさん2010/05/13(木) 00:37:33ID:???
ないですよ
残念ながら仕様です
0576nobodyさん2010/05/13(木) 00:40:03ID:???
>>573
人物(例えばお前)に対して気持ち悪いといったならまだしも
PHPの仕様に対して気持ち悪いといったら喧嘩腰って・・・
あぁあなたはPHPの妖精さんでしたか
0577nobodyさん2010/05/13(木) 00:51:46ID:???
気持ち悪い
0578nobodyさん2010/05/13(木) 01:10:52ID:???
確かに気持ち悪いってのは分からんでもないな。
気持ち悪いだけならいいんだが、思わぬバグに悩むこともある。
でも楽だなって思うときも正直あるなー、初期化しなくていいとか。
0579nobodyさん2010/05/13(木) 01:22:01ID:???
気持ち悪いってのは甘えでしょ
0580nobodyさん2010/05/13(木) 01:33:32ID:???
えっ
0581nobodyさん2010/05/13(木) 02:27:26ID:???
>>576
お前のキーボード気持ち悪い
0582nobodyさん2010/05/13(木) 02:43:28ID:???
なんかBAKAがいますね^^;
0583nobodyさん2010/05/13(木) 02:54:24ID:???
いるね。
0584nobodyさん2010/05/13(木) 02:56:05ID:???
ブロックスコープより private static と $this-> の省略が欲しい
あと 配列/ハッシュの定義も
0585nobodyさん2010/05/13(木) 03:05:07ID:???
ソースコード公開されてるんだから独自拡張してしまいなさいよ
できないなら我慢して下さい
それでも変えたいと思うのならPHP開発チームのコミュに乗り込んで意見交換してきて下さい
英語できないなら我慢して下さい
0586nobodyさん2010/05/13(木) 04:32:03ID:g6nE4IPR
centos5にphp5.2.13が入っているのですが、curlが有効になっていません。
phpinfoのconfigure commandには、
'--with-curl=shared'
と書かれていますが、curlの項目はありません。
php.iniに
extension = php_curl.so
を追加して再起動してみましたが、変化ありません。
curlを有効にするにはどうしたらいいでしょうか?
0587nobodyさん2010/05/13(木) 04:41:57ID:???
php_curlをcurlにしたらokでした
0588nobodyさん2010/05/13(木) 12:42:53ID:Xm7v6t58
ワンタイムパスワードやクッキーIDに使われるuniqid()の説明に
md5(uniqid(mt_rand(), true)); と書きましょう。とありますが
みんながこのアルゴリズム使ってたらMD5だろうがSHA1だろうがハッシュかける意味なくはないでしょうか。
えらい人教えて
0589nobodyさん2010/05/13(木) 12:56:15ID:???
なんのこっちゃ
0590nobodyさん2010/05/13(木) 13:10:55ID:???
生成方法が分かってるからって
生成したID使って成りすましなんて現実的だと思ってるわけ?
echo uniqid(mt_rand(), true);やってみなよ
文字が1文字でも違えば合わないわけで
現在有効なセッションに対してタイムリーにあわせたものを送出するなんて不可能
確率的には天文学的数値になるわけで
仮に通ったらそれはもう仕方ないとしかいいようがない
0591nobodyさん2010/05/13(木) 13:23:47ID:???
PHPでページのウィンドウサイズを取得することは出来ますか?
05925912010/05/13(木) 13:24:27ID:DhKK8eQ9
ID出すの忘れてた・・・
0593nobodyさん2010/05/13(木) 13:35:00ID:???
無理です。
0594nobodyさん2010/05/13(木) 13:35:41ID:???
今のウインドウサイズをjavascriptで取得してPHPのページで受け取とるしかないのでは。
0595nobodyさん2010/05/13(木) 13:37:28ID:DhKK8eQ9
>>593-594
やはりjavascriptになってしまいますか・・・
回答ありがとうございました!
0596nobodyさん2010/05/13(木) 13:39:59ID:IJ7WPaYi
DBのnameフィールドに山田 太郎(山田次郎等スペースが開かないものも存在します)
があったとして
これを検索で山田太郎でも山田 太郎でもひっかかるようにするにはどうしたら
よいでしょうか?
山田と太郎に分けてlike文?等も考えたのですが、絶対真ん中にスペースがあるとも
限らないためどの様な関数を使えばいいのかわからずにこまっております。
0597nobodyさん2010/05/13(木) 13:46:38ID:Xm7v6t58
>>590
いや、だから成りすましができるかできないかじゃなくて
ハッシュする意味があるのかと
0598nobodyさん2010/05/13(木) 13:49:22ID:???
>>596
replace(name, ' ', '') = '山田太郎'
0599nobodyさん2010/05/13(木) 14:06:40ID:???
>>597
みんなが同じアルゴリズムとかわけわかんないこというからだろ
別にしたくないならしなくてもいいよ
0600nobodyさん2010/05/13(木) 15:11:39ID:???
>>597
ハッシュ化する意味は「生成後の値から生成前の値」を読み取れないようにすることだと思う。
今回の場合は既に乱数を生成してるからハッシュ化しても意味ないと思うけどね。
0601nobodyさん2010/05/13(木) 15:20:13ID:IJ7WPaYi
>>598
nameフィールドのデータをreplaceでスペースを取り除けるということでしょうか?
0602nobodyさん2010/05/13(木) 16:11:24ID:IJ7WPaYi
すみませんできました。
ありがとうございました
0603nobodyさん2010/05/13(木) 16:52:07ID:???
ご質問があります。
期間がきたら、個別のフォルダに飛ばすプログラムを作りたいのですが、

A. 2010年05月13日〜2010年05月20日 この期間は、x01フォルダに飛ぶ
B. 2010年05月23日〜2010年05月28日 この期間は、x02フォルダに飛ぶ
C. 2010年06月01日〜2010年06月10日 この期間は、x03フォルダに飛ぶ

このような処理を一つのファイルでやりたいのですが、
どうしても、どう条件式を書けばわかりません。
このような処理は可能でしょうか?
0604nobodyさん2010/05/13(木) 16:58:48ID:???
移動させたいの?
中身を表示させたいの?
0605nobodyさん2010/05/13(木) 16:59:15ID:???
>>603
日付を取得して、日付から振り分けるフォルダ取得。
その後に、header関数を使ってリダイレクトをかけるとか。
0606nobodyさん2010/05/13(木) 19:04:44ID:???
>>603
日付をmktime()して整数値に変換すれば、簡単な不等号演算で条件式を書けるよ。
間違っても年を比較して月を比較して日を比較して・・・とかしないように。
0607nobodyさん2010/05/13(木) 21:08:15ID:???
>>602
山田太 郎
も引っかかるようになるけどね。
0608nobodyさん2010/05/14(金) 19:13:12ID:4Ir7KJlR
PHPの基本的な関数なんだけど

文字列から特定の文字を検出して、3文字を取り出したいだけど
一回で出せる関数ってありますか?

あるかわからないからこんな風に書いているんだけど…

$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

$needle = 'CD';
$length = strlen($needle);
echo substr(strstr($str, $needle), $length, 3); // EFG

PHPのバージョンは問いません。


0609nobodyさん2010/05/14(金) 19:30:17ID:QXJzlvQt
WindowsAzureのスレってどこですか?
0610nobodyさん2010/05/14(金) 19:50:01ID:???
関数1個なら、正規表現使うしか……
■ このスレッドは過去ログ倉庫に格納されています