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

【PHP】下らねぇ質問はここに書き込みやがれ 51

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/07/27(金) 16:32:46ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 50
http://pc11.2ch.net/test/read.cgi/php/1184143801/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0052nobodyさん2007/07/28(土) 22:18:31ID:???
>>51
それ常識
0053nobodyさん2007/07/28(土) 22:31:56ID:???
>>51
レスありがとうございます。
本質を見失っていました。
データベース抽象化しないのは駄目なやり方・・・というわけではないですね。
0054nobodyさん2007/07/28(土) 23:23:44ID:PaYijQ8b
propelとか使うよりかは速いだろうし
ある程度の速度がでるからたいていはPDOで必要充分だけど
クラの要望で更に速度を求めるのなら必然的にべた書きでクエリ発行がきほんぬ
0055nobodyさん2007/07/29(日) 00:00:58ID:???
>>53
自分でスピード計って自分なりの答えを出したなら
それより正しいやり方なんて無い。
0056名無しさん@そうだ選挙に行こう2007/07/29(日) 01:28:21ID:???
>>43
ベーシック認証のパスワードとか平文
で流さなくなるからその部分は良いん
じゃない?

しかしそれ以外に良い方法なんかあるか?
URL公開で誰でもアクセスできわけだし
0057名無しさん@そうだ選挙に行こう2007/07/29(日) 01:55:50ID:???
>>54
PDOはバグだらけ

      m9 三 9m
     彡  ∧∧  ミ
    m9  (^Д^)  9m プギャプギャプギャプギャー!!
     ヾヽ\ y  ) 彡
      m9/三 9m
       ∪ ̄ ̄ ̄\)
0058名無しさん@そうだ選挙に行こう2007/07/29(日) 02:39:15ID:???
>>56
?SSLを使わないのを前提にしてベーシック認証の話を考えてたんだよ質問者は。
あと他の部分もレスの流れ読んでから書き込みなさいね。
0059名無しさん@そうだ選挙に行こう2007/07/29(日) 03:15:05ID:LTvsXwuR
ヒアドキュメントの中にPHP埋め込みってできないっすか?

print <<<_EOM_
<html>
<body>
<?
echo "aaa";
?>
</body>
</html>
_EOM_;

こうすると直接
<?
echo "aaa";
?>
が表示されてしまいます。(ソースに)
0060名無しさん@そうだ選挙に行こう2007/07/29(日) 03:36:48ID:???
PHPの構文の中にPHPを埋め込みたいってアホか
0061名無しさん@そうだ選挙に行こう2007/07/29(日) 07:04:12ID:???
最近、このレス盛り上がんないなぁ。
もっと、盛り上がれよ。もっと、煽れ煽れ煽れ!!
0062名無しさん@そうだ選挙に行こう2007/07/29(日) 08:28:33ID:???
しつもんです
今、GDで画像を縮小保存するスクリプトを書いてるんですが、
縮小した画像を表示してみるとガタガタしています。
(人物の顔の輪郭とか)
これはどうしようもないことなんでしょうか?
解決法ないですかね?
0063622007/07/29(日) 09:30:56ID:9qZJ5AIW
いかん、ID出し忘れた
よろしくおねがいします
0064名無しさん@そうだ選挙に行こう2007/07/29(日) 09:40:24ID:???
>>60
eval
0065名無しさん@そうだ選挙に行こう2007/07/29(日) 11:36:23ID:???
>>63
ものっそ計算とかできるのでなければGDじゃ無理かもしれない。
imagickとかでやればおk。ぼかしと組み合わせたりね
0066名無しさん@そうだ選挙に行こう2007/07/29(日) 12:29:33ID:???
>>63
imagecopyresampledを使っているとしたら、第1引数は
imagecreatetruecolorで作らなければならない。ということではなく?
0067名無しさん@そうだ選挙に行こう2007/07/29(日) 17:15:07ID:VfoU2k6K
CMSにタグクラウドをインストしたんですが、

Warning: ksort() expects parameter 1 to be array, null given in
/home/aaa/modules/tag_clouds.php on line 254

ってエラーがでるんですが、いまいち解決策が浮かびません

ヒントおねがいします
0068nobodyさん2007/07/29(日) 17:32:57ID:???
ヒント:訳せ
0069名無しさん@そうだ選挙に行こう2007/07/29(日) 17:55:43ID:???
もうなんともなあ。初歩の英語も読めんでよプログラムとか書くやめろよ。
0070名無しさん@そうだ選挙に行こう2007/07/29(日) 18:01:57ID:???
>>69
お前が人間やめろ
恥を知れ
0071名無しさん@そうだ選挙に行こう2007/07/29(日) 18:45:38ID:Bn55vaoQ
xdebugを入れると、エラー時にCall Stackが表示されて激しく便利なんですが
xdebug入れずにCall Stack情報を知る方法があれば教えてください☆
0072名無しさん@そうだ選挙に行こう2007/07/29(日) 19:52:34ID:zURM7j22
if ($a == $b) {echo"ok";}

こんな感じの処理を59回行いたいんですが、
forで59回分、まわすのと、
59行びっしり書いて処理するのでは
どちらが処理時間がはやいでしょうか?
0073名無しさん@そうだ選挙に行こう2007/07/29(日) 19:57:48ID:???
>>72
びっしり書く方が速い
0074nobodyさん2007/07/29(日) 20:35:13ID:???
>>72
そんなん気にするならPHPなんか使うな
0075nobodyさん2007/07/29(日) 21:10:22ID:???
>>72
今はびっしりが流行ってる
0076nobodyさん2007/07/29(日) 21:11:20ID:???
for
0.00137519836426 msec
ずらずら
0.00004291534424 msec
0077nobodyさん2007/07/29(日) 21:29:21ID:???
PHPのループは遅いで有名だよね
0078nobodyさん2007/07/29(日) 21:33:40ID:???
関数にしちまえばいい
0079nobodyさん2007/07/29(日) 21:55:22ID:zURM7j22
なるほど、ありがとうございました。
びっしり書くことにします。
0080692007/07/29(日) 22:01:33ID:???
>>70
なんで?
0081nobodyさん2007/07/29(日) 22:08:25ID:zURM7j22
たびたびすみません、\nを
echo で表示しようとすると、ソースの中で改行されます。

しかし、$a = "テスト\nあああ";という
$aに格納されてる文字列をファイルに保存して、
fileで読み込んでechoで出力すると\nが文字列として表示されます。
なぜなんでしょうか???
0082nobodyさん2007/07/29(日) 22:28:09ID:???
オブジェクトの存在しないプロパティに代入したら
エラーにならずにプロパティが作成され代入されます。
この動作変じゃないですか?
エラーになるようにできませんか?
0083nobodyさん2007/07/29(日) 22:34:00ID:???
できる
0084nobodyさん2007/07/29(日) 22:37:47ID:???
>>83
どうすれば出来ますか?
0085nobodyさん2007/07/29(日) 22:46:26ID:???
念じれば出来る
0086nobodyさん2007/07/29(日) 22:55:37ID:???
出来ないよ。
>>83は早くできる根拠を出せよ
0087nobodyさん2007/07/29(日) 23:00:26ID:???0
出来ないんですか?
PHP以外のオブジェクト指向言語でもそうなのでしょうか
プロパティってそんな軽いもんなんですか
0088nobodyさん2007/07/29(日) 23:01:42ID:???0
うん軽い。存在より軽い。
0089nobodyさん2007/07/29(日) 23:02:53ID:zURM7j220
すみません、$time = date('YmdHis')で
一度変数に格納したら、値が変わらないようにしたいのですが、
どうしたらいいでしょうか?
0090nobodyさん2007/07/29(日) 23:04:09ID:???0
>>88
耐えられません
どうにかして重くなりませんか?
あと83の人お願いします
0091nobodyさん2007/07/29(日) 23:08:19ID:???0
>>89
$time の値はいじらない限り変わらないと思うけど?
0092nobodyさん2007/07/29(日) 23:10:58ID:???0
>>89
define使って定数にすればOK
0093882007/07/29(日) 23:18:51ID:???0
>>90
ある意味セッタ、ゲッタメソッドを作らないで直接代入する貴方にも
責任があると思う。ドプチェクのようなもの。
0094nobodyさん2007/07/30(月) 01:59:08ID:???
>>90
んなことマニュアルのOOPのページ見れば書いてあるんだが
0095nobodyさん2007/07/30(月) 02:13:22ID:k6dNwcDo
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
0096nobodyさん2007/07/30(月) 02:29:08ID:???
>>93
OOPといえば、setter、getterのことだと思っている単細胞ハッケーン
0097nobodyさん2007/07/30(月) 02:50:25ID:0Togw9Jb
sage
0098nobodyさん2007/07/30(月) 05:03:59ID:???
つまんない流れ
0099nobodyさん2007/07/30(月) 07:26:58ID:???
29日午前7時25分ごろ、神奈川県山北町神尾田の丹沢湖にかかるヘイロク沢橋の下で、湖水が干上がった場所に放置されていたドラム缶から腐敗臭がする
0100nobodyさん2007/07/30(月) 07:28:42ID:k6dNwcDo
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
結局、スクリプト言語はPHP、添付にPerlでおk?
0101nobodyさん2007/07/30(月) 07:37:04ID:???
ドラム缶から腐敗臭
0102nobodyさん2007/07/30(月) 09:06:30ID:???
唇から媚薬
0103nobodyさん2007/07/30(月) 09:47:41ID:???
<select name="test"
<option value="〜"

</select>
<input type="submit" name="submit" value="push">

で、1回目のsubmitでoptionとvalueを動的に作って、2回目以降のsubmitで作られたvalueを$strに入れるにはどうしたら良いですか?

$_REQEST['test']と$_POST['test']を試したけど、なりません
0104nobodyさん2007/07/30(月) 09:52:46ID:???
>>103
は?動的に作るってどう作りたいんだ?
0105nobodyさん2007/07/30(月) 10:46:13ID:???
>>103
確かに何を言いたいのか分かりそうで意味が分からない。
もっと聞くべき事とそれの材料を整理汁。
あと>>1嫁
自己解決するぞ
0106nobodyさん2007/07/30(月) 10:53:53ID:???
>>103
他のやつと同様に何がしたいかさっぱり理解できんが
とりあえずもちついて
print_r($_POST);
でほしいものが飛んできているか確認してみな
0107nobodyさん2007/07/30(月) 12:59:04ID:???
>>103
じつはフォームはgetで送っているとかじゃないよね・・・
0108nobodyさん2007/07/30(月) 13:05:19ID:???
ものすごい根本的な質問なのですが。
for と while ってどっちかだけでも全ての事が出来ますよね?
いまいち別々にある理由が分からないんです。
つまり片方が無くてもなんとかはなるんじゃないかと思うので、二つある理由が分かりません。

好みとか見やすさのためなんでしょうか?
0109nobodyさん2007/07/30(月) 13:24:54ID:???
>>108
それをいいだしたらswitchだってforeachだっていらない子になりマス。
0110nobodyさん2007/07/30(月) 13:32:52ID:???
敷衍していえば、Cだってperlだって要らなくなるしな。
世の中の言語がphpだけで事足りてしまう。
0111nobodyさん2007/07/30(月) 13:53:30ID:FrcIGkvY
PHP4.4.2です。
checkdate()で変数によって挙動が変わってくるのですが、どういうことなんでしょうか?

$date['month'] = 7;
$date['day'] = 28;
$date['year'] = 2007;
checkdate($date['month'],$date['day'],$date['year']);
↑
falseが返る

$month = 7;
$day = 28;
$year = 2007;
checkdate($month,$day,$year);
↑
trueが返る

checkdate(7,28,2007);
↑
trueが返る

全ての日付が false になるのではなく、何日間かあるみたいです。
他には 7月31日・8月31日 などです。
0112nobodyさん2007/07/30(月) 13:54:16ID:???
>>108
用途がちがいだろ。素人おつかれ
0113nobodyさん2007/07/30(月) 13:59:08ID:???
>>108は俺もプログラミングやりはじめたとき思ったな。
でも、プログラミングしてるうちに、両方を使い分けるようになる。
言葉では説明できないがな。
ここで、ちゃんと理由説明せずに批判だけしてるやつも同じ。
01141112007/07/30(月) 13:59:14ID:???
と、思ったら…変数名間違ってました…。お恥ずかしい限りです。
0115nobodyさん2007/07/30(月) 14:04:41ID:???
>>113
人を批判する前にじぶんが説明できるようになれよ
0116nobodyさん2007/07/30(月) 14:13:43ID:j81avk9K
よろしくお願いします。
$deny='.jp';
$host=gethostbyaddr($_SERVER["REMOTE_ADDR"]);
if(strpos($host,$deny)===FALSE){exit;};
で.jp以外をアクセス制限しています。ここに.net等書き加える時の書式を教えてください。
PHP Version 5.1.6
0117nobodyさん2007/07/30(月) 14:16:17ID:???
elseifかforeach使う
0118nobodyさん2007/07/30(月) 14:18:25ID:???
なぜstrposをつかう・・・・・?
0119nobodyさん2007/07/30(月) 14:19:33ID:???
>>115
「言葉では説明できない」って書いてあんじゃん。おばかさん。
0120nobodyさん2007/07/30(月) 14:26:32ID:???
>>116
$deny = array(".jp", ".net");
$host = gethostbyaddr($_SERVER["REMOTE_ADDR"]);

foreach($deny as $value)
{

if(preg_match('/'. $value .'$/', $host)) exit();

}
0121nobodyさん2007/07/30(月) 14:41:18ID:j81avk9K
>>120
どうもです。
でもそれだとブラウザで見に行くと真っ白けなんです。
0122nobodyさん2007/07/30(月) 14:42:20ID:j81avk9K
>>116の
 $deny='.jp';
を
  $deny = array(".jp", ".net");
にしても一緒でした。
0123nobodyさん2007/07/30(月) 14:44:13ID:???
>>121
>ブラウザで見に行くと真っ白けなんです

意味がわからん
これだけコピーして貼り付けても何も表示されないわな
とりあえず、この流れの意味を理解することをお勧めする。
0124nobodyさん2007/07/30(月) 14:50:02ID:???
>>122
やり取り見た感じアクセス規制以前の部分から勉強することをオヌヌヌする。
あと流れ的に$allowって変数名のほうがいい
0125nobodyさん2007/07/30(月) 15:31:40ID:???
>>119
それは言い訳ですか
0126nobodyさん2007/07/30(月) 15:35:40ID:???
>>108
出来るか出来ないかと言えば一つの関数でできるが
少しずつ冗長なケースがあるんだよ
プログラマはその少しの冗長が我慢できなくなる人種
そのためにほとんど似ているがちょっと違う関数が出来た
0127nobodyさん2007/07/30(月) 15:41:30ID:???
forとかwhileは関数じゃなくて文だな
ブロック中で参照もしないループカウンタの存在が
疎ましくてたまらなくなったら
それが大人の階段のぼった時
0128nobodyさん2007/07/30(月) 15:45:47ID:???
PHPマニュアルをググるとやたら出てきて困ります
決定版はどこのサイトですか??
0129nobodyさん2007/07/30(月) 15:48:58ID:???
lol
0130nobodyさん2007/07/30(月) 15:54:43ID:???
つ 公式サイト
PHPspotはアフィ厨サイトなのでおすすめしない
0131nobodyさん2007/07/30(月) 15:59:46ID:vRSUKu0i
mysql_queryで、SELECTで検索した結果からさらに内容を絞り込む方法はありませんでしょうか?
0132nobodyさん2007/07/30(月) 16:02:50ID:???
ある
0133nobodyさん2007/07/30(月) 16:02:57ID:???
>>128
んで公式マニュアルの検索部分をfirefoxの検索エンジンとして登録しておくと結構便利
0134nobodyさん2007/07/30(月) 16:05:29ID:???
>>131
1、クエリで絞り込む文をはじめからべた書き。
2、mysql_fetch_arrayでぶん回して絞込み。

抽象的過ぎるからこれくらいしか思いつかん
0135622007/07/30(月) 16:10:18ID:jeC1TV1e
>>65-66
ありがとうございます
imagickは便利そうだけどインストールしたのに上手く動きませんでした
>>66さんの言ってることに注意してGDでやることにします
ありがとうございました
0136nobodyさん2007/07/30(月) 16:11:46ID:vRSUKu0i
>>134
ベタ書き方法を思いついたのでベタ書きします
ありがとうございます
0137nobodyさん2007/07/30(月) 16:19:14ID:vRSUKu0i
すみませんド忘れです
mb_convert_encodingの配列version教えてください。
0138nobodyさん2007/07/30(月) 16:31:19ID:???
>>130
アフィ厨(笑)
0139622007/07/30(月) 16:35:44ID:???
>>66
ImageCopyResampledでやってみたら凄く綺麗に出来ました
ありがとうございます 助かりました!
01401372007/07/30(月) 16:36:00ID:vRSUKu0i
mb_convert_variablesで解決しました
0141nobodyさん2007/07/30(月) 17:08:37ID:2xutiaGX
PHPスクリプトの置き場所について

public_htmlより上においててもたいていのスクリプトは動作しますか?
0142nobodyさん2007/07/30(月) 17:35:16ID:???
>>141
大帝のスクリプトなら逝ける筈
庶民のスクリプトは無理だと思う
0143nobodyさん2007/07/30(月) 18:02:48ID:???
>>141
で、どこから実行するのそれ?
0144nobodyさん2007/07/30(月) 18:07:58ID:2xutiaGX
public_htmlないからincludeして実行しようとおもいます
0145nobodyさん2007/07/30(月) 18:17:21ID:I6x/cfL/
$today = date("Y/m/d");
echo "今日は$todayです";

今日の日付を表示するスクリプトですが、
$todayは日にちが変われば中身がかわりますよね?
これは毎回アクセスするたびに$todayがセットされるということですか?
メモリの話はよくわからないのですが、
date関数から日付を表示するのではなく、date関数で今日の日付を見て、
2007/07/30という値をその日限り有効にセットした別の変数とか作れますか?
値をメモリ上に保持しとくみたいな感じで・・・(変なこといってたらすみません)
それで日付が変わったら、新しい値次の日の値をセットして、またその日限り有効みたいな。

微々たるものだとは思うのですが、少しでも効率化を図りたいと思っています。
0146nobodyさん2007/07/30(月) 18:22:33ID:???
>>145
日付って鯖にセットされてる時刻じゃね?
0147nobodyさん2007/07/30(月) 18:34:09ID:1FSTDxFa
// 全角文字は使用禁止とする
if( ereg( "[^\x21-\x7E]", $this->Form[$AttriName] ) ) {
return False;
}

よく○○チェックなどありますが
EUC JIS UTF-8で文字コードは変わってしまいますよね?
0148nobodyさん2007/07/30(月) 18:36:01ID:???
>>147
はい、そうですね。
0149nobodyさん2007/07/30(月) 18:39:01ID:???
>>145
だってwebなんだから表示した瞬間そこで接続は切れて、ご破算になるんだぜ?
要求x送信の1つのルーチンを第三者が関れないだろ?
チャットでもなんでもログファイルを仲介して別だろ?
0150nobodyさん2007/07/30(月) 18:40:27ID:1FSTDxFa
>>148
ということはフリーの外部クラスとかで
マルチバイトの○○正規表現チェックなどは
範囲前後が不完全という事でFAですか?
0151nobodyさん2007/07/30(月) 18:42:35ID:???
>>150
それなら
strlen!=mb_strlenでいいんじゃね?
■ このスレッドは過去ログ倉庫に格納されています