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

【PHP】くだらねぇ質問はここに書き込みやがれpart2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん05/01/09 06:01:24ID:tJkdKk+e

お前の下らない質問に回答があるかも知れないスレッドです。
0583nobodyさん05/01/24 18:43:25ID:2tfulrKk
スラッシュのある項目に対しては配列に取り込まないようにしたいんですが、
下の記述だとうまくいきません。何故でしょう?
ちなみに出来ればドットも飛ばしたいんですが。
誰か教えてください。
foreach ($du_ary as $value) {
if(!ereg($value, "/")) {
list ($used, $user) = explode("\t", $value);
$disk_use[$used] = $user;
}
}
0584nobodyさん05/01/24 18:47:02ID:???
>>583
マニュアル読めよ馬鹿
0585nobodyさん05/01/24 19:01:24ID:???
>>583
ereg()の使い方が間違ってるかな?
あと正規表現使うと出来るんじゃない?
0586nobodyさん05/01/24 19:02:51ID:2tfulrKk
$slush = "/";
if(!ereg($value, $slush)) {

ってしてみました。スラッシュの正規表現が分からなかったです。。。
\/ ???
0587nobodyさん05/01/24 19:07:34ID:???
sub X{
if(X()){ return; }
if($a == 0){
A; X(); B; X(); C; X(); D; X();
$a = 1;
}elsif($a == 1){
E; X(); F; X(); G; X(); H; X();
$a = 2;
}elsif($a == 2){
・・・・・・・・・・・
}
return;
}

これを実行するとBの直後でsub Xに戻るとA→B→C→D→C→Dと
実行されなかった部分が繰り返されてしまうんですが、
最後の実行されなかったC→Dは繰り返さずに
A→B→C→Dだけまた繰り返すにはどうしたらいいんでしょうか?
returnの数や位置がいけないのかな・・・必ず残った分が実行されてしまうんです。
なにとぞご教授の方よろしくお願いします。
0588nobodyさん05/01/24 19:39:09ID:esy2MU0n
>>582 topに付け足すだけでいいのですか?
   ip取れませんでした。
0589nobodyさん05/01/24 20:03:05ID:???
>>588
その程度のスキルなら、
その掲示板の配布元に聞くよろし。
その掲示板のスクリプトも判らん俺らが、
君に教えられる事は>>582まで。
0590nobodyさん05/01/24 20:10:45ID:???
>>587
それはPHPではない
0591nobodyさん05/01/24 20:44:02ID:EEgoJdla
配布海外
0592nobodyさん05/01/24 21:52:36ID:???
>>586
いや、だから間違ってると思うよ
以下参照して勉強してね
tp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm
0593nobodyさん05/01/24 22:22:04ID:???
逆か!?
0594nobodyさん05/01/24 22:39:00ID:???
すみません初心者質問です。他スレを汚したのですがこちらの方がふさわしいと思ったので
こちらで質問させてください。
print <<<EOT
<a href="javascript:fnc_a('----');">
EOT;
上記の文を作ったのですが、ヒアドキュメントを使うことが禁止されています。
上記の文をヒアドキュメント無しで同じ働きにするには、どうしたらいいでしょうか?


0595nobodyさん05/01/24 22:48:54ID:Fh1K805s
URLの後ろに適当なコードを付けて、
どこからアクセスしたか・そこからどれくらいアクセスがあったか、わかるようにしたいです。
紙媒体などにURLが乗ってそこから来たときも取れるように。

http://xxxxxx.jp/baka
で、.htaccessで404のとき、count.phpを通して、indexへリダイレクト。
という方法で、やってみたところリファラ取れませんでした。

もしかして根本的に間違ってますかコレ・・・

http://xxxx,jp/count.php?hoge=baka
のように他のファイルを叩かせずに、jp/baka
だけで取得したいです。
何か良い方法はないでしょうか?
0596nobodyさん05/01/24 23:24:19ID:???
>>594
向こうで何て言われたのかもう忘れたのか!
059759405/01/24 23:39:00ID:???
>596 普通にprintやecho使え、って言われたのですが・・・。初心者過ぎて
正直言って上の文のどこにprintを加えればいいのかわかりませんでした・・。
0598nobodyさん05/01/25 00:00:32ID:???
>>597
とりあえず、本買ってこい。
そしてサンプルページ見ろ。
059959705/01/25 00:08:34ID:???
>598
とりあえず手元の参考書を読んでいるんですが・・・。
"と'が含まれる文をくくる方法はヒアドキュメント以外に見当たりません・・・。
qw()でくくってみたのですがエラーが発生しました。
0600nobodyさん05/01/25 00:19:39ID:???
>>599
ただの文字列なんだから、どうとでもなるだろうが!!
多少不細工でも動かしたいなら、いくらでも手がある。
文字列。
0601nobodyさん05/01/25 00:35:07ID:???
えすけーぷえすけーぷ
060259705/01/25 00:47:17ID:???
>601
ありがとうございました。お騒がせしました
0603nobodyさん05/01/25 01:15:39ID:???
なんだネタか
0604nobodyさん05/01/25 01:16:14ID:???
てか、ヒアドキュメントって設定で使用制限かけれるのか?
マニュアル読んでもphp.ini見てもそんな項目見当たらないんだが
そもそも制限かける意味も理由も見当たらないけど
0605nobodyさん05/01/25 01:52:32ID:???
>>599

それ、perlじゃなかったけ
060659705/01/25 02:12:46ID:???
>604 よくわからないのですが、先方からそういう指示だったので・・。
>605 そうでした
0607nobodyさん05/01/25 02:25:38ID:???
おい馬鹿ども釣られすぎだぞ
0608ぶるじょあ ◆yEbBEcuFOU 05/01/25 02:27:48ID:???
>>607
     ∧_∧ バッ
     ( ・3・)_,ノて 素晴らしい夜の始まりだYO!
   ,/::)   ゚づ:::::::(
   /::Ο l |:::::::::/
  ^べ(_)_,)⌒゙
0609nobodyさん05/01/25 02:30:17ID:???
>>605qwでそんな意味不明なことするか馬鹿
0610nobodyさん05/01/25 02:32:04ID:???
あと30分で朝だな。
0611nobodyさん05/01/25 07:35:51ID:???
?> <?でくくる
0612nobodyさん05/01/25 10:19:47ID:???
質問です。
php+GDで、画像のサムネイルを表示させるスクリプトを作ろうと思っているのですが、
デジカメの画像をそのまま使用すると、サイズが大きすぎるせいか、メモリエラーになってしまいました。
また、枚数が多いとどうしても動作が重くなってしまいます。

今やっている方法は
1・ディレクトリの中にあるイメージファイルの一覧を取得
2・一覧をwhileでまわして、<img src="resize.php?hoge.jpg">のようにして書き出し
3・resize.phpで画像を読み込み、imagecopyresizedで小さくして出力

というようにしています。
もっと動作を軽くする方法がありましたら教えてください。
0613nobodyさん05/01/25 10:27:07ID:???
>>612
リクエストの度に処理しているんじゃ効率悪すぎ。
未処理ファイルを対象に定期的にバッチまわして、
あらかじめサムネールを作成しておくべき。
0614612 05/01/25 10:33:46ID:???
>>613
早速のレスありがとうございます。
>リクエストの度に処理しているんじゃ効率悪すぎ。
やっぱりそうですよね…。
なんとか他の方法は無い物かと思ったんですが、なさそうなので諦めます。
これで踏ん切りがついた感じです。
ありがとうございました。
0615>>59505/01/25 11:51:06ID:7O2DMtBF
>>595

です。。おねがいします
0616nobodyさん05/01/25 11:59:26ID:???
>>595
count.phpをindex.phpにしてDirectoryIndexの先頭にindex.php。
http://xxxxxx.jp/?bakaでいいだろ。
0617nobodyさん05/01/25 12:02:53ID:???
>>595
http://xxxxxx.jp/?baka

$query_str = getenv('QUERY_STRING'); //$query_str = 'baka'
061859505/01/25 12:22:56ID:7O2DMtBF
getenv('QUERY_STRING');
こういうことができたんですね。
ありがとうございます、勉強になりました。
0619nobodyさん05/01/25 12:37:13ID:???
馬鹿って書き込める?
0620nobodyさん05/01/25 13:18:14ID:???
↑馬鹿
0621nobodyさん05/01/25 13:30:21ID:???
>>617
関数使わなくても、すでに
$_SERVER["QUERY_STRING"]
に入ってるし
0622nobodyさん05/01/25 13:56:35ID:???
↑馬鹿
0623nobodyさん05/01/25 16:31:42ID:???
pearのソースなんかにかいてある///{{{ってなんていうソフトへのメッセージ?
0624軟式PHP05/01/25 16:38:46ID:???
V ´^?�u^?`)y―┛~
062559505/01/25 16:41:32ID:7O2DMtBF
>>619
え、漏れですか?

無事出来上がりましたありがとうございます。
062659505/01/25 16:43:01ID:???
内容ないのに下げ忘れましたすいません
0627nobodyさん05/01/25 16:48:53ID:???
>>623
Vim
0628nobodyさん05/01/25 16:55:23ID:???
>>627
センキュ
0629nobodyさん05/01/25 17:47:42ID:yhBhnvi/
php4.3.10です
mb_substrですが、
http://www.php.net/manual/ja/function.mb-substr.php
によると、二番目と三番目の引数は、バイト数じゃなくて文字数となってるんですが、
なぜか、バイト数で処理しているようです。
さらには、日本語の真ん中でぶった切ってくれます。
mb_convert_kanaやmb_convert_encodingはちゃんと動いているので、インストール
は問題ないと思うのですが....
文字コードをEUCに変換してやってもダメでした

エロイ人おしえてください

0630nobodyさん05/01/25 18:00:04ID:???
エンコーディングが設定とずれてんだろ
つーかまともに質問もできない低脳は質問スレに来るなよ
0631nobodyさん05/01/25 18:05:38ID:???
>>629
たまたまあなたのPHPがハズレだっただけです。
よくあることとあきらめてください。
0632なちじょあ ◆yEbBEcuFOU 05/01/25 18:08:03ID:???
( ● ・3・ ● ) エェー またご挑戦くださいNE
0633nobodyさん05/01/25 18:19:22ID:yhBhnvi/
>>630
なにげに親切だね
0634nobodyさん05/01/25 18:52:27ID:ctOxddYx
どちらの書き方が正しいのでしょうか?
�@----------------------------
User-agent: searchpreview
User-Agent: ia_archiver
Disallow: /
�A----------------------------
User-Agent: ia_archiver
Disallow: /
User-agent: searchpreview
Disallow: /

ある複数のロボットを指定したい場合どちらが効果がありますか?
googleで検索すると�Aは、ロボットが来てしまうような事があるらしいのですが
ご教授お願いいたします
0635nobodyさん05/01/25 18:57:09ID:???
>>634
Web制作板で聞いてください
063663405/01/25 19:05:50ID:???
>>635
すみません。板を間違えていました
0637nobodyさん05/01/25 19:08:25ID:???
PHPとも関係ないが
0638DNS未登録さん05/01/26 09:43:42ID:???
Apache2.0.x+Tomcat5.5.x)での連携設定方法をご存知ありませんか?
OSはWinXPSP2です。
ぐぐったのですがサイトによってかいてあることが違ってうまくいきません。
どなたかうまくいった方が折られましたら、参考にしたサイトを紹介していただけないでしょうか?
あと成功例でも結構ですどうぞよろしくお願いします。
0639612 05/01/26 10:12:33ID:???
あの後ちょっといじって、>>613氏のいうように、サムネイル画像をあらかじめ
作成して置く形に変更しました。
しかし、デジカメの画像(2048*1536、約1MB)の画像をまとめて処理しようとすると
PHP Fatal error: Allowed memory size of 10485760 bytes exhausted とエラーが出てしまいます。
大体、10枚程度までなら処理できるのですが、それ以上はエラーになりました。
やっている事は

1・ファイルの一覧を取得
2・whileで回して「$src = imagecreatefromjpeg($file);」として読み込み、xとyのサイズを取得&サムネイルのサイズに設定
3・$img = imagecreatetruecolor($set_x,$set_y);としてイメージ生成
4・imagecopyresampled($img,$src,0,0,0,0,$set_x,$set_y,$x,$y);出力
5・whileの最後にimagejpeg($img,$output_file); imagedestroy($img); imagedestroy($src); として、繰り返し

これでは正常にメモリがクリアされないのでしょうか?
何か解決法がありましたらお願いします。
0640軟式PHP05/01/26 10:27:52ID:???
ぐぐったらいくつか解決法があったけどやってみた?
0641612 05/01/26 10:54:07ID:???
>>640
うーん「php」「gd」「メモリ」「Allowed memory size」などを中心に探してみましたが
php.iniの最大メモリを変更する以外の対策は見あたりませんでした。
その解決法とはどんな物ですか?
0642nobodyさん05/01/26 12:01:46ID:???
>>641
ってかさ、どうせ画像はローカルPCからアップするんでしょ?
だったら、PC上で一括してサムネール作っちゃえばいいんじゃないの?
その手のフリーウェアは探せば山ほどあるんだし。

全てをサーバ上でやろうとするから…
0643nobodyさん05/01/26 12:36:32ID:???
>>612
メモリリークでしょうかね
imagedestroyでメモリが開放されてないような感じですが。
PHPのバージョンとgdのバージョン(PHPバンドル版か別にインストールしたものか)は何でしょうか。
0644612 05/01/26 13:43:17ID:???
>>642
いや、それを言われちゃうと身も蓋も…。
ブラウザで全部すませたいな、と思うので。

>>643
PHP Version 5.0.3、GD 2.0.28です。
imagedestroyで解放されていないわけでは無いようです。
imagedestroyしてやると10枚程度までいけますが、しないと数枚でアウトでした。
0645nobodyさん05/01/26 14:11:37ID:???
>>639
画像が大きすぎ。
たまたま10枚目あたりの画像のメモリー消費量が多いだけちやうんかと。
共有鯖なら>>642の意見に賛成。
自鯖なら好きなだけメモリー増やせ。
0646612 05/01/26 14:31:13ID:???
>>645
10枚目がたまたま、という訳では無いです。

で、メモリを増やすにせよなんにせよ、クリアされなくてはいけないハズなのに
クリアされていないというのは何だか気持ち悪いので、このスクリプトを
実際に使うかどうかは別として、原因がわかったら教えてください。
私も自分で解決できたらまた来ます(´・ω・`)

というわけで、またしばらくコチコチやってきま。
ありがとうございました。
0647軟式PHP05/01/26 14:44:05ID:???
>>641
あとphp.iniの箇所をもうちょい進むと
ttp://ns1.php.gr.jp/pipermail/php-users/2002-January/004929.html
までいくっしょ。これで解決したわけだし試してみたら?
あと、$srcってimagecreatefromjpegの戻り値だよね。
imagedestroyする必要あるのかな。
0648軟式PHP05/01/26 14:48:12ID:???
>>647
てか、$srcもしなきゃいかんな。スマソ。
後者は無視してhttpdのほう試してみてくれ。
0649軟式PHP05/01/26 14:50:53ID:???
連レスになるけど、どうしてもダメならImageMagickを使うこと等を
検討してみてはどうだろう。
0650612 05/01/26 15:05:44ID:???
>>647
とりあえずhttpd.confでは駄目でした(´・ω・`)
なので、ImageMagickも検討してみたいと思います。

しかし、なんかこのまま終わるのも癪なので、もうちょとやってみます(笑)
どうもです〜m(_ _)m
0651nobodyさん05/01/26 15:08:28ID:???
こういう奴ってできたらできたで共有鯖とかでもやるんだよな。
0652nobodyさん05/01/26 15:36:18ID:???
>>650
>>639の処理手順は合ってるから、それ以上手の付け様は無いよ。
>>642が言ってるように根本的なやり方を変えるか、
>>647が言ってるような運用方法で軽減するかくらいしかない。

まぁ、jpegで1MBのファイルならメモリに展開した時に
10MB(php.ini設定か?)を超えてもおかしくないわな。
0653nobodyさん05/01/28 00:31:06ID:o6jrdeht
age
0654nobodyさん05/01/28 03:39:06ID:???
PHPたんの性器表現・・・・(;´Д`)ハァハァ
0655nobodyさん05/01/28 07:24:10ID:???
ミスだっつーの!\(`Д´)/
0656nobodyさん05/01/28 09:47:33ID:???
いつも性器とかやらしい事ばっかり言ってるから、変換で最初に出てくるんですよ
0657nobodyさん05/01/28 12:18:03ID:???
普通はこの辺が出てくるよな。 「正規・生気・世紀」
まあエロいことはいいことだ。
0658nobodyさん05/01/28 13:14:06ID:???
違うんだよ!同級生の携帯に2chブラウザ入ってて、記念眞紀子で質問したらこうなったんだよ!
0659nobodyさん05/01/28 13:39:35ID:???
メ欄の安っぽさがこのスレらしくていい
0660nobodyさん05/01/28 14:35:04ID:xpvGFlmu
PHPを最近始めた初心者です。
くだらない質問でごめんなさい。

DBからUTF-8形式のデータを呼び出し、それらをfopenを使ってファイルに書き込むときに、ファイルの出力コードが勝手にShift-JISとなってしまいます。

mb_convert_encodingやutf8_encodeなどを使って、DBから呼び出した個々のデータを全てUTF-8にしても、ファイルそのものはShift-JISのままになってしまいます。

どなたか、ご対応の程よろしくお願い致します。
0661nobodyさん05/01/28 15:11:35ID:???
>>660
php.iniの設定を確認。
066266005/01/28 16:21:53ID:xpvGFlmu
>>661
ご回答ありがとうございます。

php.iniについてはレンタルサーバなので正確に中身を見る事は出来ませんが、ユーザが指定できるので、そこに記述した内容をコピーしますね。

language = "neutral
default_charset = "UTF-8"
mbstring.internal_encoding = "UTF-8"
mbstring.http_output = "UTF-8"
このような設定にしています。
他のページ等に記載していることを、見よう見まねで書いてみたのですが、やはりファイル出力はShift-JISのままとなってしまいます。

ご対応の程よろしくお願い致します。
0663nobodyさん05/01/28 17:20:33ID:???
念のためphpinfo()の該当する結果を見せてちょ
0664nobodyさん05/01/28 17:31:02ID:???
>>660
fopenでファイルに書き込む際に自動的にエンコード変換を
掛けるなんてことはないのだがな。その「勝手にShift-JISとなってしまいます。」
や「DBにはUTF-8で格納されてる」つうのはどうやって確認してる?

あとDBMSの機能で、PostgresなんかはDBクライアントの機能として
MySQL4.1/5.0はDBサーバの機能としてデータのIN/OUTの際にエンコードの変換を
行うことができるので、その辺が影響して無いか確認。
影響してればPHPに取り込んだときには既に変換されてる
066566005/01/28 17:49:52ID:xpvGFlmu
>>663
ご回答ありがとうございます。
phpinfo()の該当する部分というのはこの辺りの掲載すればよろしいのでしょうか?

PHP Core

Directive Local Value Master Value
default_charset UTF-8 UTF-8
output_buffering 0 0
output_handlerno value no value

mbstring
Japanese support enabled

Directive Local Value Master Value
mbstring.detect_orderno valueno value
mbstring.encoding_translationOffOff
mbstring.func_overload00
mbstring.http_inputpasspass
mbstring.http_outputUTF-8UTF-8
mbstring.internal_encodingUTF-8UTF-8
mbstring.languageneutralneutral
mbstring.substitute_characterno valueno value

不要なものがありましたら、申し訳ございません。
また、必要なものがございましたら、お手数ですがご指摘の程、よろしくお願い致します。
066666405/01/28 17:52:18ID:xpvGFlmu
>>664

ご回答ありがとうございます。

勝手にShift-Jisになる確認方法の件ですが、fopenにて生成されたファイルをエディタ(Macユーザのためmiというエディタを使っています)で開いたところ、Shift-Jisになっているのです。
また、DB(MySQL)の件については、UTF-8でエンコードされたWebページのフォームから文章を入力し、PEARを使って
DBにInsertしています。そして、それを同じくUTF-8でエンコードされた違うWebページで出力させているのですが、文字化け等はおきずに正しく表示されています。
また、phpmyadminをutf-8に設定した状態でDBのデータを確認してみても、ちゃんと表示されております。これにより、MySQLのデータIN/OUTにおけるエンコード変換の影響はないと判断していますが、いかがでしょうか?

またCURLを使い、yahoo.co.jpを取り込み、同じようにfopenを使ってファイル出力してみたのですが、この場合は
EUC-JPとなるようです。
以下がスクリプトです。
$curl = curl_init("http://www.yahoo.co.jp");
$fl = @fopen('hoge.php', 'w');
curl_setopt( $curl,CURLOPT_FILE,$fl );
curl_setopt( $curl,CURLOPT_HEADER,0);
curl_exec( $curl );
curl_close( $curl );
fclose( $fl );

ご指摘の程、よろしくお願い致します。
066766005/01/28 17:53:37ID:xpvGFlmu
>>664
申し訳ございません。名前のところに664と書いて投稿してしまいました。
0668nobodyさん05/01/28 18:15:00ID:???
>>666
エディタのエンコードの自動判定が判定しきれなくて
間違ったエンコードと認識してる可能性がある。
バイナリエディタを入手して文字コードで確認してみてください。

データのIN/OUTにおいて変換されてしまってる感じではなさそうだな…
0669nobodyさん05/01/28 23:37:03ID:ZphJTcdt
フォームのradioボタンでチェック時の色が薄い緑で見にくいの
ですが、色を変えることはできますか?
0670nobodyさん05/01/28 23:50:11ID:???
>>669
Web制作板へどうぞ
0671nobodyさん05/01/29 16:48:34ID:y8zIQf8h
PHPのpg_connect使ってPostgreSQLと接続しているのですが、
接続中に何回か実行クエリを発行してもpg_closeしないと
結果が反映されてないみたいんですが、そうゆうものですか?
AUTO COMMITのようなことはできますでしょうか?
0672nobodyさん05/01/29 17:05:42ID:???
基本的にAuto Commitの筈だけど、不安だったらpg_trace()でも試してみたら?
0673nobodyさん05/01/29 17:30:30ID:???
>>672
そうですか、私の勘違いですかね。
ちなみに、PHPのバージョンは4.1.3です。
0674nobodyさん05/01/30 01:48:28ID:???
すいませんが質問させて下さい。
以前WIN環境(2k)のapache(1.3.27)+php(4.2.3)で作ってたんですが
今度同じWIN環境でapache(2.0.50)+php(5.0.1)に移行したら
プリント関数が使えなくなりました。
php.iniに「extension=php_printer.dll」も追加し、phpのextフォルダにも
php4環境からphp_printer.dllをコピって置いたんですが本来なら
このフォルダにあるはずだし、apacheを再起動しても
「指定されたモジュールが見つかりません」と怒られます。
ひょっとしてphp5になってからプリント関数は無くなったんでしょうか?
0675nobodyさん05/01/30 01:56:07ID:???
Apiの異なるDLLが動くわけなかろう
http://jp2.php.net/get/pecl-5.0.3-Win32.zip/from/a/mirror
0676nobodyさん05/01/30 01:57:43ID:???
>>674
セキュリティ上問題があるので至急PHPのバージョンを上げて下さい。
0677nobodyさん05/01/30 05:45:15ID:79430JFW
あるhtmlファイルから
特定の文字列を抜いて、
別のphpから表示したいのですが、可能でしょうか?
具体的にどんな方法が考えられますでしょうか?

例:a.html(abcdefという内容)
b.php a.html からdefを抜いて、
abcと表示。
0678nobodyさん05/01/30 06:01:06ID:???
可能。何がわからないのかすら分からん。
0679nobodyさん05/01/30 10:11:41ID:???
>>678
PHPの事を何も理解してない奴にアドバイスするのはやめれ
0680nobodyさん05/01/30 10:21:00ID:/AMMda4B
ちょい質問
FOMAの動画を再生させようとしてるんだが

http://www.hoge.com/hoge.asf

へ飛ばしたらバイナリはいてたのでIMGタグ使ってみたがやはり表示されない
なんか特別なFOMA用のタグでもあるのかね?
0681nobodyさん05/01/30 10:29:29ID:???
404ですよ
<a>か<object>だった希ガス
0682nobodyさん05/01/30 11:04:05ID:???
>>680
携帯用の動画は画面サイズがきまっています。
前に俺も携帯用の配信してた時にちょっとつまずいた。

正確な解像度はわすれたけど、ちょっと調べれば、わかったと思うよ。

あとは、.asfにアンカータグでリンクを張れば再生される。
■ このスレッドは過去ログ倉庫に格納されています