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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/04/30(土) 00:12:53ID:OJfc9xBu
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
0459nobodyさん2005/05/17(火) 07:58:46ID:???
つ [× >>427 ○ >>426 ]
0460軟式PHP2005/05/17(火) 10:07:12ID:???
>>455
リファレンス本て勿体ない。PHPマニュアルで十分やろ。
かなり分かりやすいと思うよ>PHPのマニュアル
本を買うならもっと別の本にしたほうがいいと思われ。
0461nobodyさん2005/05/17(火) 11:33:51ID:wrsgSSon
for($i=0;$i<10;$i++){

for($ii=0;$ii<5;$ii++){


}

}

PHPに限ったことではないのですが、ループが2重になる時、
内側のインクリメント変数はなんて名前にするのがいいですか?
0462軟式PHP2005/05/17(火) 11:42:59ID:???
重複しない名前
0463nobodyさん2005/05/17(火) 11:48:34ID:???
$i $j $k $l …という順番で使うオイラはFortran世代。
最近、老眼で $i $j $l の区別がつきにくい…
マジな話をすると、それぞれのループには意味があるだろうから
外側のループも $i にこだわらず、意味のある名前にしたら?
04644612005/05/17(火) 11:51:38ID:???
特にセオリーがある訳ではないんですね。
ありがとうございました。
0465nobodyさん2005/05/17(火) 12:04:08ID:???
fortranだと暗黙の型が、
I, J, K, L, M, N で始まる変数 -> 整数型
A〜H, O〜Z で始まる変数 -> 実数型
になるってやつだね。
ttp://www.hatena.ne.jp/1086523013 あたりに似たような話題が出ていたので参考にどうぞ。
0466nobodyさん2005/05/17(火) 12:23:25ID:???
俺はPHPが初めてだったから数学でよく使ってたi、n、mが多い。
でも3重のループ構造なんて作ったこと無いからnまでだな。
0467nobodyさん2005/05/17(火) 12:50:18ID:???
>>465
20年やって初めて知った
ベーマガにも書いてないトリビアだ
0468nobodyさん2005/05/17(火) 13:00:55ID:???
昔、雑誌に載ってたBASICのプログラムが
for i = 0 to 9 : for j = 1 to 100
みたいな感じだったから今でもループカウンタは i j だ
0469nobodyさん2005/05/17(火) 13:34:27ID:Apwp1iic
質問っす。
preg_replaceでマッチした結果を、連想配列の添え字に使用できないかな?

----------------------------------------------------
<?php
$hash = array(
"100" => "100_text",
"101" => "101_text",
);

$str = "string101";

echo preg_replace("/.+?([0-9]+)/", $hash['$1'], $str);

exit;
?>
----------------------------------------------------

101_textを期待してるんだけどまったく駄目です。
/eを使うのかと思うんだけどいまいち理解できません。
よろしくお願いします。
0470nobodyさん2005/05/17(火) 14:17:22ID:???
>>469
preg_match使えば
04714702005/05/17(火) 14:20:01ID:???
preg_match + str_replace
か
preg_replace_callback + function
0472nobodyさん2005/05/17(火) 14:48:23ID:???
PHPで、クライアントとは関係ないHTTP通信を行いたいのですが、
どのメソッドを使えばよいでしょうか?

開くターゲットはhtmlファイルなのですが、
クッキーなどのいくつかのヘッダも出力してやりたいので、
fopenではない専用のAPIがあれば助かります。

よろしくお願いします。
0473nobodyさん2005/05/17(火) 14:54:33ID:???
>>469

> /e修飾子は、 preg_replace()が replacementパラメータを
> 適当な置換を行った後、PHP コードとして処理するようにします。

echo preg_replace("/.+?([0-9]+)/e", '$hash["$1"]', $str);
0474nobodyさん2005/05/17(火) 14:59:45ID:???
>>472
つ [ fsockopen ]
0475nobodyさん2005/05/17(火) 15:02:53ID:???
>>474
トン
0476nobodyさん2005/05/17(火) 15:12:01ID:???
HTMLソースをゲットして、必要な部分だけを切り出したいんですが効率的な方法はどのようにすべきなのでしょうか。
タグの部分は置き換えで出来るのですが、予期しない文章部分等への対応をどうしたら良いのか困っています。
0477nobodyさん2005/05/17(火) 15:17:48ID:???
>>476
ゲット先のソースを管理している人間に、
ソース内で貴方の必要な箇所を明示的に記述してもらうように頼む。
0478nobodyさん2005/05/17(火) 16:02:43ID:???
クラス内部で自分のメソッド呼ぶ場合って
$this->hogehoge()使うのと
CLASS::hogehoge()使うのと
どっちが正しいとか早いとかってある?
0479nobodyさん2005/05/17(火) 16:04:59ID:???
普通$this->func()でしょう。
だってクラス名変わったらアウトじゃん。
0480nobodyさん2005/05/17(火) 16:06:23ID:???
後者は親クラスのメソッドを呼び出す時に使うんじゃないの?
0481nobodyさん2005/05/17(火) 16:12:50ID:???
>480
再帰ループとかに使うんで自分のクラスです。
親メソッドだったらparent::hogehoge()で呼ぶのが正解だと思っとりますが。
0482nobodyさん2005/05/17(火) 16:15:28ID:???
>>478
クラスの作成意図による。
class test {
function hoge(){ echo 'hoge'; }
function hoge1(){ $this->hoge(); }
function hoge2(){ test::hoge(); }
}
test::hoge1(); // fatal errorになる。インスタンスが無いのでhoge1での$this自体が無い。
test::hoge2(); // hogeを出力
0483nobodyさん2005/05/17(火) 16:30:25ID:???
>482
なるほど・・・
インスタンスを必要としないように組んでれば$thisじゃなくても良いわけですな。
とりあえず、>479の言うとおりクラス名変わったら面倒になりそうなので
$thisを使う事にします。
さんくす。
0484nobodyさん2005/05/17(火) 16:32:22ID:???
class test2 extends test{
function hoge(){ echo 'hoge2';}
}
ってしたくなると困るね。
Javaとかでは、なんかセオリーみたいなのあるの?
0485nobodyさん2005/05/17(火) 16:33:33ID:???
>>482
class test {
function hoge(){ echo 'hoge'; }
function hoge2(){ test::hoge(); }
function hoge3(){ self::hoge(); }
}
test::hoge2(); // hogeを出力
test::hoge3(); // hogeを出力
っちゅう手もある
0486nobodyさん2005/05/17(火) 16:38:56ID:???
>>477
明示的にはなっているのですが、それをどう抜き出したら良いのか分かりませぬ・・
抜き出したい行には固有の文字列がありますから、テキストから取り出す方法が分かれば可能だと思いますが、その方法自体が分かってないのです・・。
http://itbtech.itboost.co.jp/man/php_man/manual.html
とかのどこ見ろや!でいいのでおながいします
0487nobodyさん2005/05/17(火) 16:44:49ID:???
>>485
selfってPHP5だけ?
0488nobodyさん2005/05/17(火) 18:44:35ID:ceDjCL+B
phpでヤフオク等のページデータを引っこ抜きたいんですが、
出品途中ではなく終わった出品物の場合、URLデータを引っこ抜く時に
ログインしろ!ときます。
ログインをPHPのスクリプトで行い、ページデータを引っこ抜く手段はあるでしょうか?

お願いします。
04894882005/05/17(火) 19:15:06ID:ceDjCL+B
意味不明な記述がありました。すいません
URLデータ>ページデータです。
0490nobodyさん2005/05/17(火) 19:18:06ID:???
PHPのエラーメッセージの一覧はありますか?
T_STRINGとか…
0491nobodyさん2005/05/17(火) 19:30:55ID:???
PerlならLWPとか使うんだろうけど、PHPだとどうなんだろ。
シェルスクリプトでw3mのマクロを書いたほうが簡単なような気が。
0492nobodyさん2005/05/17(火) 19:46:12ID:???
cURL でしょ。
0493nobodyさん2005/05/17(火) 19:54:12ID:???
左のメニューを選択すると右メニューに結果が表示されるようにするスクリプトを書いていて、
実際にソースをHPにあげてみたら上手く動かなかった、、
おそらく$_SERVERのところの記述ミスなのですが、検索して調べてみたのですがわからずここで聞くことにしました。
ご教授おねがいします。

ソースファイル↓
http://www.uploda.org/file/uporg101239.zip.html
0494nobodyさん2005/05/17(火) 20:02:21ID:???
JavaScript使う手もあるけど、<a href="xxx.php?page=top">とかした方が簡単だよ。
04954932005/05/17(火) 20:05:56ID:???
>>494
ナルホド、、ありがとうございます。
0496nobodyさん2005/05/17(火) 21:34:02ID:???
hoge.html からフォームで fuga.php にアクセスするシステムがあって、
直接 fuga.php にアクセスされたときに

「ぬるぽ」

と表示したいのですが、どの変数があるなしで判断したらいいでしょうか?
GETさせたく無い方法を教えてください。
0497nobodyさん2005/05/17(火) 21:43:11ID:???
$_POST
0498nobodyさん2005/05/17(火) 21:43:25ID:???
postデータがあったら通常処理
postデータがない場合、引数がない場合、getデータがある場合はぬるぽ。
0499nobodyさん2005/05/17(火) 21:58:03ID:???
>>496
if (isset($_SERVER['HTTP_REFERER'])
    && strpos($_SERVER['HTTP_REFERER'], 'hoge.html') !== FALSE) {

    //何か処理
} else {
    echo 'ぬるぽ';
}
0500nobodyさん2005/05/17(火) 22:01:32ID:???
$_POST ですか。
ユーザー名が入るテキストフィールド(name = username)があるとして、

<?
if (!$_POST["username"]){
     print ぬるぽ
     }
?>

これだと、ユーザー名を未入力でボタンを押しても「ぬるぽ」と表示されてしまいます。
アクセスされた人が「ぬるぽって何?」って思われたり、または脊髄反射的に「ガッ」っと言う人が言うかもしれません。

$_POST は 連想配列である、とマニュアルに書いていますが、
そもそも $_POST という配列が無いという分岐はできるのでしょうか?
0501nobodyさん2005/05/17(火) 22:05:55ID:???
>>499
あぁ、すいません、書いている間に答えいただいてしまって…、ありがとうございます。
0502nobodyさん2005/05/17(火) 22:14:17ID:???
>>490
つ ttp://www.php.net/manual/ja/tokens.php
0503nobodyさん2005/05/17(火) 22:19:42ID:???
10万バイト分の文字列を200回mb_ereg_replace()―正規表現は使わずただの全角文字の置換に使う―をしたいのですが、負荷から考えてレン鯖で使うのは危険ですか?
0504nobodyさん2005/05/17(火) 22:24:33ID:???
ローカルでやるのは駄目なの?
0505nobodyさん2005/05/17(火) 22:31:21ID:???
php4 + GD でページの中に動的に生成したグラフを表示させたいと思っています

その際、普通は
<img src = "graph.php?param1=<?php echo $param1; ?>">
などのようにimgタグの中からgraph.phpを呼んでついでに引数を渡すのですが、
グラフのデータそのもの(大きい配列)を引数として渡したいので、この方法だとうまくいきません

どうしたら大きい配列を渡すことができるでしょうか?

0506nobodyさん2005/05/17(火) 22:32:43ID:???
10万バイトと言われると凄そうだが、たかだか100KB弱なんだな。。。
0507nobodyさん2005/05/17(火) 22:45:24ID:???
>>505
どううまくいきませんか?
getのサイズ制限、urlで使えない文字 etc.
0508nobodyさん2005/05/17(火) 23:15:01ID:???
セッションを使うか、serialize()を使うか、ダメならPOSTメソッドを使う
05095052005/05/18(水) 00:20:12ID:???
>>507
うまくいかないというか、サイズが不確定な配列をうまく渡す方法がわからないんです

>>508
serialize()を使う場合、どう記述すればいいでしょうか?

0510nobodyさん2005/05/18(水) 00:24:58ID:???
EUCコードで書かれたCGIをShift_JISに変換ツール(秀丸など)で変換すると
エラーが出るのですが、いい方法ないですか?
0511nobodyさん2005/05/18(水) 01:12:05ID:???
フリーでダウンロードできる掲示板を探しています

ほしい機能としては、
1.各携帯から見ることができる
2.RSSを出力できる

こういうものはありますかね?
もし知ってる方いらっしゃいましたらよろしくお願いします。
0512nobodyさん2005/05/18(水) 01:24:46ID:???
>>509
graph.php?data=<?php echo serialize($array_data); ?>
--
$array_data = unserialize($_GET['data']);

>>510
Shift_JISだと気をつけないといけない事が多々あるのでEUCで書いてあるのでしょう。
Shift_JISで動くように気をつけて書き直すしかありません。
0513nobodyさん2005/05/18(水) 01:24:47ID:???
>>511
幾らでもありますよw
とりあえずグーグルか何かで糞で見ようよ。
0514nobodyさん2005/05/18(水) 01:24:57ID:???
2^9get
0515nobodyさん2005/05/18(水) 01:27:50ID:???
Perlのx演算子に相当するものは何ですか?
0516nobodyさん2005/05/18(水) 01:33:05ID:???
>>513
CGIではみつかったんですが、
PHPではみつからないんですよね・・・
もしよかったら教えていただけませんか?

検索ワードでも構わないのでよろしくお願いします
0517nobodyさん2005/05/18(水) 02:15:24ID:???
>>516
ひんと
レッツ  


(大御所)
0518nobodyさん2005/05/18(水) 09:05:12ID:???
>CGIではみつかったんですが、
>PHPではみつからないんですよね・・・
難解な文章だな
0519nobodyさん2005/05/18(水) 09:39:55ID:???
判りやすく言うと、こういうことか?

日本ではみつかったが、
独島ではみつからない。
0520nobodyさん2005/05/18(水) 10:19:18ID:???
面白いな
日本にあって大阪にないものなーんだ? 答え:安全
みたいなもんか
0521nobodyさん2005/05/18(水) 10:26:36ID:???
サッカーにあって日本-北朝鮮戦にないものなーんだ?
みたいなもんか
0522nobodyさん2005/05/18(水) 12:20:29ID:???
VBにあってASPに(ry
0523nobodyさん2005/05/18(水) 12:37:42ID:6htWVmYW
フォームでテキストやコンボを入力後、submitして表示される確認画面で
ブラウザの戻るをクリックするとフォームの内容が消えてしまうのですが、
これが消えないようにHTML内で小細工できますでしょうか?
0524nobodyさん2005/05/18(水) 12:38:31ID:kL0uKaiJ
perl の user Strict; みたいなのありませんか?
0525nobodyさん2005/05/18(水) 12:39:48ID:???
use Strict; でした。
0526nobodyさん2005/05/18(水) 13:28:24ID:???
>>523
フォーム画面のhttpリスポンスヘッダのキャッシュ関係を適切に設定する。
ってHTMLかぁ。<meta>である程度は制御できるんじゃないかな。
つーか消える(=鯖へ再リクエスト)ってのは、既になにかキャッシュ関係を操作しちゃってる気がするんだが。。
HTMLの話が続くようならweb制作板へ。

>>524
エラーの出力レベルをE_NOTICEを含むようにした時の挙動がそれに近いかな。
0527nobodyさん2005/05/18(水) 16:00:42ID:???
ttp://www9.plala.or.jp/ulbperl/profile.html
をttp://php.s3.to/chat/ch.php(ソース ttp://php.s3.to/chat/ch.php.txt)
の名前の所に組みこむ方法を教えてください≦(._.)≧
0528nobodyさん2005/05/18(水) 16:34:10ID:???
>>527
チャット側の方に認証の仕組みを組み込む事になるから、結構めんどくさいと思われ。
自分でスクリプトを書けない人なら丸投げスレで頼めばやってくれる人がいるかも知れず
0529nobodyさん2005/05/18(水) 17:05:09ID:???
>>528
ありがとうございます≦(._.)≧
丸投げスレでお願いしてみます(感謝)
0530nobodyさん2005/05/18(水) 17:49:23ID:???
E_ALL
0531nobodyさん2005/05/18(水) 19:11:23ID:???
$info['name'] = 'taro';
$str = '%db{name}';
$ret = preg_replace("/%db{(.*?)}/", $info[$1], $str);
printf("%s", $ret);
このような感じで「taro」と表示するのを期待しているのですがエラーが出てしまいます。
シングル、ダブルクォーテーションで囲っても期待通りの動作はしませんでした。
どのような方法を使えば「taro」と表示出来ますでしょうか。

それから
foreach (range(1,5) as $key) {
なんとか $i;
print ++$i;
}
print $i;
この結果が「11111」になるよう$iを局所変数にするような関数ってありますか?
0532nobodyさん2005/05/18(水) 20:58:09ID:???
>>531
もっと基本的なとこからマニュアル読み直して、やり直してこい
0533nobodyさん2005/05/18(水) 23:41:05ID:???
ttp://php365.com/bbs/forum.html
でログが現在MAX返信数で設定出来ますが、例えば1000などに設定した場合ログの容量が増えるたレスカウント、参照数をそのまま残して古いレスから消えるようにしたいでのです。
例)MAXログ保存数が例えば500に設定出来ましたら(例:レス300参照数1000などが複数あった場合レスカウントと参照数はそのまま生かして)ログ500未満の古いレスから消えていくという感じです。
ちなみにMySQLは使えないサーバーです。
お願いします<_o_>
0534nobodyさん2005/05/18(水) 23:47:51ID:???
><_o_>
頭小せえな

参照数やレスカウントをどうやって取得してるのかが問題だ。
別ファイルで保存してんなら、古いデータが消えても
値をクリアししなけりゃいいんじゃないの?
0535nobodyさん2005/05/19(木) 00:18:12ID:???
>>534
頭小さいです<_o_>

別ファイルで保存してます。
//ログの最大保存数
maxlog = 500
みたいに設定出来ればいいのですが。
やり方教えてください<(_ _)>
0536nobodyさん2005/05/19(木) 03:05:10ID:HiH0MLZ7
PHPとPerlはどっちが、今時なの?
0537nobodyさん2005/05/19(木) 03:10:27ID:???
どっちーも






ってPHSと携帯のやつ昔あったよな
0538nobodyさん2005/05/19(木) 12:01:38ID:???
>>536
今、一番旬なのは、PHPコーディングの内部にPerl構文を埋め込む技術です。
0539nobodyさん2005/05/19(木) 12:22:48ID:???
>>535
頭の大きさが戻った。

いやいやそーでなくて。
設定したって、反映する動作組まなきゃ意味ないだろ。
でもソースがわからなけりゃ、どこをどう改造するか特定できねえよ。
0540nobodyさん2005/05/19(木) 12:54:32ID:???
>>536
両方とも6になるまで待て。
スクリプトエンジン統一するらしいから。
0541nobodyさん2005/05/19(木) 15:13:14ID:JciC6cGi
FreeBSD5.4にPHP4.3.10をインストールし、
PostgreSQL7.4.7を連携を取るため、
phpizeoを実行しましたが、
acloacl: not found
と出てきます。
aclocalってなんですか?
また、インストールしなければならない場合の方法を教えてください。
0542nobodyさん2005/05/19(木) 15:20:23ID:???
私だけだろうか・・・

isset($abc) || $abc = 1234;
ではなく
isset($abc) || = 1234;

という形にして欲しいのは-;
0543nobodyさん2005/05/19(木) 15:22:39ID:???
>>539
ありがとうございます。・゚・(ノ∀`)・゚・。
ttp://php365.com/download.php?id=4の中のforum..phpです
お願いします<_o_>
0544nobodyさん2005/05/19(木) 15:37:32ID:???
>>542
$abcがセットされていたら1234を代入する、ってことだよね。
オイラは || を論理演算以外に使う事自体が気持ち悪い。。
0545nobodyさん2005/05/19(木) 16:00:38ID:???
工エエェェ(´д`)ェェエエ工
0546nobodyさん2005/05/19(木) 16:05:32ID:???
>>541
autoconf の m4 マクロかなにかじゃない?
0547nobodyさん2005/05/19(木) 16:11:16ID:???
gnuにある
0548nobodyさん2005/05/19(木) 16:12:51ID:???
>>544
そうそう。それにPHP5だと以下の書き方は少し予想外の動作をするからなぁ。
isset($abc) || $abc = 1234;

if (!isset($abc)) $abc = 1234;でも良いけどわざわざ!を使うのも好きになれない-;。
どうせ型無し(厳密にはあるけど)言語なんだから初期化なんて気にしなくても良いんだろうけどね。
0549軟式PHP2005/05/19(木) 16:52:59ID:???
別にどう書こうがかまわないがメンテしやすい方向でヨロシク。
0550nobodyさん2005/05/19(木) 17:11:35ID:???
>>549
心配するな間違えてもあんたがメンテする事はない
0551軟式PHP2005/05/19(木) 17:21:33ID:???
うむ
0552nobodyさん2005/05/19(木) 17:24:38ID:???
これってPerlの人が良くやるけどなんで?
パフォーマンス?

個人的には人間が理解しやすくってセオリーを支持したい
0553nobodyさん2005/05/19(木) 17:35:03ID:???
だいたい他人のスクリプトは見難い。
一連の流れだけ見て書き直した方が早いと想う事がある。

もしビジネスとかでやるのならその会社なり個人独自の関数があるだろうし、
そうそう汚く書けないでしょ。
0554nobodyさん2005/05/19(木) 17:42:13ID:???
>>552
別にPerlの人だけじゃないでしょ。

PHPでよく見る形式だとor。

○○ or die

なんて良く見るでしょ。
やってる事と意味は同じ。
書き方が違うだけ。
0555nobodyさん2005/05/19(木) 17:49:11ID:???
>>552
わしもそー思う。

短く書けば書くほどカコイイというのがPerlの文化で
もうそれはどうしようもないけど、PHPは逆の方向でひとつ。
0556nobodyさん2005/05/19(木) 17:53:16ID:???
ttp://www.stackasterisk.jp/tech/program/perl04_01.jsp
>しかし、Perl の世界では、短絡演算子とわざわざ名前をつけ、
>一般的なテクニックとして使っています。

だそうです。
0557sage2005/05/19(木) 18:35:07ID:hR7Hdele
XML-RPC実装ではまってるんですけど、お助けください。
metaWeblog.newPost APIでブログに投稿する場合、
「struct content /*content構造体 (記事情報)*/」
は、どのような形で生成すればよいでしょうか?

$struct = array( "title" => utf8_encode( $title ), "description" => utf8_encode( $description ) );
$content = new xmlrpcval( $struct, "struct" );

という形で生成して投稿すると、以下のWarning文が出力されます。
Warning: reset(): Passed variable is not an array or object in パス略\xmlrpc.inc on line 1687
Warning: Variable passed to each() is not an array or object in パス略\xmlrpc.inc on line 1688

一応投稿は成功しているのですが、要の連想配列の解析に失敗しているようなので、
タイトルと本文がない状態です。

すいません、アドバイスください。
05585572005/05/19(木) 18:36:42ID:???
sage間違えた・・・。
すんません。
■ このスレッドは過去ログ倉庫に格納されています