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

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

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

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0413nobodyさん2007/11/22(木) 11:20:53ID:ucDTt70g
Test("example","test","hogehoge");

function Test(){

}

これで、受け取ったデータを配列に格納する方法ってどうやるんでしたっけ
度忘れしてしまいました
0414nobodyさん2007/11/22(木) 11:35:00ID:8EI8IvP2
自分自身にPOSTするプログラムで処理に20秒ほど時間がかかるのですが、
処理中に別人が違う値をPOSTしたらどうなりますか?

また、もし問題がある場合、どんなキーワードを調べれば良いですか?
0415nobodyさん2007/11/22(木) 11:37:03ID:???
>>414
別々だから問題ないよ
外部ファイルに書き込みとかなければ
そんときゃロック
0416nobodyさん2007/11/22(木) 11:38:07ID:???
>>413
Test("example","test","hogehoge");

function Test($a.$b.$c){

$a...

}
04174142007/11/22(木) 11:39:39ID:???
>>415
ありがとうございます!
0418nobodyさん2007/11/22(木) 11:40:11ID:???
>>413
array("example","test","hogehoge");

>>414
アパッチのアイドルが何とかするから気にするな
だめならサーバーが遅くなるか死ぬ
POSTで20秒もかかる処理があるほうが問題
04194132007/11/22(木) 11:40:40ID:???
>>416
書き方がわるかったみたいです・・・。

func_get_args()で自己解決できました。
有難うございました。
04204142007/11/22(木) 11:51:30ID:???
>>418
で、ですよね(汗

それどころかset_time_limit(60);にしてたりして・・・
0421nobodyさん2007/11/22(木) 12:16:42ID:ucDTt70g
PEARのDBを使っているのですが、
MySqlからPostgreSQLに移行させる場合はどのように手順を踏めば良いでしょうか
DNSをmysql://〜をpgsql://〜にするだけで良いのでしょうか?
0422nobodyさん2007/11/22(木) 13:17:37ID:???
>>421
逆に質問させてくれ。おまえはなぜpearを使うのだ?
0423nobodyさん2007/11/22(木) 13:34:40ID:???
現在実行中のスクリプトのパスって
どうやって取得するんですかね?

カレントパスではないです。
04244232007/11/22(木) 13:36:56ID:???
$_SERVER['SCRIPT_NAME']ではないです。
CakePHPなのですが、$_SERVER['SCRIPT_NAME']は
/app/webroot/index.php となっていました。

これではなく、index.phpから呼ばれていった
○○クラスが入っているphpファイルです。
0425nobodyさん2007/11/22(木) 13:36:59ID:???
>>423
phpinfo()をよくみろ!
04264232007/11/22(木) 13:38:12ID:???
__FILE__ これか・・?
0427nobodyさん2007/11/22(木) 13:43:23ID:ucDTt70g
>>422
ですよねー
0428nobodyさん2007/11/22(木) 13:46:20ID:???
>>425
そういうことじゃないのでは

>>426
http://php.mirror.camelnetwork.com/manual/ja/reserved.variables.php
もしくは
単に現在のphpファイルのディレクトリをしりたいってのなら、
dirname(__FILE__)
0429nobodyさん2007/11/22(木) 13:47:34ID:???
>>427
可憐さん?
0430軟式PHP2007/11/22(木) 13:58:48ID:???
いいえ、ケフィアです。
0431nobodyさん2007/11/22(木) 15:23:44ID:t/zyhRCZ
インストール時に--with-mysqlをするには
mysql-develが必要ですが、
mysql-develのバージョンはとりあえず一番新しいものを入れておけばいいのですか?
新しいmysql-develで
古いmysqlサーバにも
問題なく接続できるのでしょうか?
0432nobodyさん2007/11/22(木) 15:30:30ID:???
試してから言え
0433nobodyさん2007/11/22(木) 15:36:06ID:???
古いmysql-develを組み込んだPHPでも
新しいmysqlに接続できるよな…
どういう仕組みなんだろう?
0434nobodyさん2007/11/22(木) 15:41:35ID:???
fgetsとかfpassthruってEOFに当たるまでのデータを返すとのことですが
0バイトのファイルでいきなりEOFになるような場合だと
返ってくるのは空文字なのかそもそもエラーが出るのかどちらでしょうか?
0435nobodyさん2007/11/22(木) 15:41:35ID:???
使うライブラリ名(mysql.soとか?)と関数名が同じなら呼べるし、
仕様が変わってなければそのまま動くでしょ。
0436nobodyさん2007/11/22(木) 15:46:13ID:???
mysql1.0ってまだある?
0437nobodyさん2007/11/22(木) 15:47:57ID:???
func_get_args()ってどんな時につかうんだ?
0438nobodyさん2007/11/22(木) 15:49:07ID:???
>>437
引数が不定のときだろ
0439nobodyさん2007/11/22(木) 15:53:00ID:???
最近のレンタルサーバーでPHP5、MySQL使えるとこって
mysqliも使える物かな・・・
0440nobodyさん2007/11/22(木) 16:04:51ID:???
個別にお問い合わせ下さい
0441nobodyさん2007/11/22(木) 16:08:46ID:ucDTt70g
$str = '西鴻池町一丁目';
$preg = '/^(.*)([一二三四五六七八九十〇]丁目)$/';

preg_match($preg, $str, $match);
print_r($match);

として、○丁目というのを取得したいのですが、
これで取得するとなぜか、

Array(
[0]=>西鴻池町一丁目
[1]=>西鴻池町・・
[2]=>・丁目
)

のように文字化けします。
preg_matchで文字コードを指定してマッチするような引数はないみたいですが、
どうやって文字化けを防ぐことができるのでしょうか。

ちなみに上記はUTF-8を使用しています。
EUC-JPで試してみましたが同じところが文字化けします、。
0442nobodyさん2007/11/22(木) 16:10:35ID:???
/uにすると幸せになれるかも?
0443nobodyさん2007/11/22(木) 16:12:27ID:ucDTt70g
>>442
ありがとうございます、幸せになれました
これはマルチバイト対応なのですか
0444nobodyさん2007/11/22(木) 16:19:14ID:???
http://jp.php.net/manual/ja/reference.pcre.pattern.modifiers.php
0445nobodyさん2007/11/22(木) 16:33:57ID:???
UTF-8のみか・・・気をつけて使わないと・・・
0446nobodyさん2007/11/22(木) 16:39:46ID:sPAH13/5
>>409
どうもありがとうございます。
なぜ直下じゃだめなんでしょう??
0447nobodyさん2007/11/22(木) 16:46:20ID:???
>>446
おまえに指摘してやった>>412だがレスは読んだかな?
0448nobodyさん2007/11/22(木) 16:51:43ID:sPAH13/5
>>447
おおっと、見落としてしまってました。すみませんでした。
「サーバに必要なモジュール」とは例えばなんでしょうか?

今、PEARのサイトにいって、適当なものダウンロードしてみて解凍してみたんですが、
XMLファイルしか入ってなかったです。phpファイルが手に入ると思っていたんですが・・・。
0449nobodyさん2007/11/22(木) 17:14:23ID:???
mysqlのbegin,commit,rollbackってmysql_unbuffered_queryでやっちゃだめ?
mysql_queryじゃないとだめなのかな。
0450nobodyさん2007/11/22(木) 17:19:21ID:???
>>449
>>1
0451nobodyさん2007/11/22(木) 17:45:46ID:???
>>413
func_get_args()
0452nobodyさん2007/11/22(木) 19:42:29ID:???
>>448
PEARがあればなんでもできるってわけじゃないんだぞ・・・
サーバにインストールされたモジュールを確認してからにしろよ。。
0453nobodyさん2007/11/22(木) 20:37:58ID:???
<?php
if($_SERVER['HTTP_REFERER'] == "http://ほげほげ.com/" or "http://ちょめちょめ.com/") {
print "バカ";
}
?>

全然うまく動作しませんが、どのようにすればOKなのでしょうか?
0454nobodyさん2007/11/22(木) 20:48:17ID:???
ワラタ
0455nobodyさん2007/11/22(木) 20:53:50ID:???
>>454
真剣なんです。おしえてください。
0456nobodyさん2007/11/22(木) 20:57:39ID:???
>>455
じゃまず>>1を読め
0457print "バカ";2007/11/22(木) 21:01:26ID:xhtR9bCY
>>456
おねがいします
0458nobodyさん2007/11/22(木) 21:07:17ID:???
if ($a == $b || $a == $c)
0459print "バカ";2007/11/22(木) 21:21:53ID:xhtR9bCY
if($_SERVER['HTTP_REFERER'] == "http://穂下.com/" || $_SERVER['HTTP_REFERER'] == "http://バカ.com") {

これでもできませんが、致命的な間違いしてますか?

0460nobodyさん2007/11/22(木) 21:22:30ID:???
>>459
>>1
0461nobodyさん2007/11/22(木) 21:28:08ID:???
HTTP_REFERERに入ってるものを確認してみろ
0462nobodyさん2007/11/22(木) 21:38:13ID:???
>>461
たしかにNotice: Undefined index: HTTP_REFERER inってエラーがでます。
0463nobodyさん2007/11/22(木) 21:43:36ID:???
そういうことだ
0464nobodyさん2007/11/22(木) 21:54:26ID:???
根本的なことまちがえてました ^^;

HTTP_REFERER じゃなく SCRIPT_NAME でした・・・・
0465nobodyさん2007/11/22(木) 23:37:06ID:???
だからID無しに構うなって言ってるのに・・
0466nobodyさん2007/11/22(木) 23:38:01ID:???
>>456に指摘されて>>457で出してるじゃないか
0467nobodyさん2007/11/22(木) 23:46:05ID:???
つか1すら読んでないしなこいつ
0468nobodyさん2007/11/23(金) 00:49:06ID:???
質問者本人はおもしろいと思って書き込んでるんだから
生暖かい目でみろよ
0469nobodyさん2007/11/23(金) 01:43:42ID:C6lkXyua
PHPのセッション管理をしようと思っているのですが、
セッションでオブジェクトを正しく保持することができません。
下記のような単純なプログラムでもダメです。
(結果はいつも同じ”hello, 1 times. ”となってしまいます。)
<?php
class testFoo {
var $count;
function testFoo($i) {
$this->count = $i;
}
function inc() {
$this->count++;
}
function hello() {
$this->inc();
echo("hello, " . $this->count . " times.\n");
}
}
session_start();
if (!isset($obj)) {
$obj = new testFoo(0);
session_register("obj");
}
?>
<html>
<h1>
<?php $obj->hello(); ?>
</h1>
</html>
PHPの設定で何か不足しているのでしょうか?
環境:CentOS5, Apache2.2.3, PHP5.1.6
よろしくお願いします。
04704692007/11/23(金) 01:48:21ID:C6lkXyua
469の補足です。

セッションの格納先になっているディレクトリ
/var/lib/php/session/
を見ても一切ファイルは生成されていません。
0471nobodyさん2007/11/23(金) 01:49:32ID:???
それが問題じゃーん
0472nobodyさん2007/11/23(金) 01:52:49ID:???
>>469
まず原因の切り分けすべし
0473nobodyさん2007/11/23(金) 02:01:17ID:???
てかすまん、まともにソース読んでなかったけど
session_registerで登録したセッションの値はどうやって使うんだ?自動的に展開されるのか?
非推奨関数だし普通にやればいいんでないね
0474nobodyさん2007/11/23(金) 02:02:25ID:???
>>469
5.1系使うのやめろクズ
0475nobodyさん2007/11/23(金) 03:39:04ID:???
>>469
マニュアルから引用
>register_globals が有効な場合、全てのグローバル変数はセッション変数として登録するこ とが可能で、
>セッション変数は対応するグローバル変数として回復されます。

ただし>473の言うようにsession_registerは使うな。
0476nobodyさん2007/11/23(金) 08:55:04ID:pcPMqEAE
extentionをshared extentionに出来るかできないかは
実際に指定してみないと分からないですか?
0477nobodyさん2007/11/23(金) 13:11:26ID:???
DateTimeってgetYear,getMonthとかのメソッドないんだね。
UNIXタイムスタンプ取得もできない・・・
日付に関する情報をカプセル化したクラスというより、
日付計算、整形などのユーティリティクラスって位置づけとおもったほうがいい?
0478nobodyさん2007/11/23(金) 14:02:39ID:???
>>477
そんくらい自分で判断しろ。もしくはドキュメントを読め。
0479nobodyさん2007/11/23(金) 14:41:51ID:dy8jwYb7
全くの初心者ですが、質問させてください。
いま、gmpというものを使いたくて、マニュアルを見ているのですが、意味が分からず困っています。

インストール手順というところで、オプション --with-gmp を使用することにより〜とありますが、
「PHP オプションとは」や「PHP インストール オプション」、「PHP オプション」や「PHP --with-gmp」で検索しても
一向に意味が分かりません。

GMPに限らず、もっと基本的な「オプションを使用する」の方法や意味、解説などがなされているサイトなどはありますでしょうか?
0480nobodyさん2007/11/23(金) 14:46:04ID:???
479 があぼ〜んになってるなw
0481nobodyさん2007/11/23(金) 14:53:52ID:???
>>479
マニュアルの付録H
04824792007/11/23(金) 15:01:34ID:???
ありがとうございます。レンタルサーバーのphpinfo()のConfigure Commandに記載されていなかったのですが
使えないという事ですね。
0483nobodyさん2007/11/23(金) 15:03:09ID:???
うん
04844792007/11/23(金) 15:17:08ID:???
ありがとうございました。
0485nobodyさん2007/11/23(金) 16:30:33ID:aJzRS5bo
php4.x にてSQLite(PEAR経由)データベース内のテーブルリストを取得する
方法はありますか?
0486nobodyさん2007/11/23(金) 16:43:55ID:aJzRS5bo
自己解決しました。
0487nobodyさん2007/11/23(金) 16:44:13ID:???
show tables実行できないの?
0488nobodyさん2007/11/23(金) 16:46:21ID:???
入力された住所が存在する住所かどうかって調べるクラスないですか?
〜区町村までの住所です。
0489nobodyさん2007/11/23(金) 16:48:17ID:???
>>1
0490nobodyさん2007/11/23(金) 16:48:25ID:???
>>488
ほい
http://www.google.com/search?q=%E9%83%B5%E4%BE%BF%E7%95%AA%E5%8F%B7+%E4%BD%8F%E6%89%80+php
0491nobodyさん2007/11/23(金) 17:38:01ID:???
携帯でセッション使えない話聞いたんですが
セッションの引き回しにURLかフォームを使わないといけない情報を見つけたんですが、
セッションIDをサーバに保存してIP(携帯であればIPは一意?)でセッションIDを呼び出す
方法って王道ですか?セッションIDを引き回さない方法でもっといい方法ありますか?
0492nobodyさん2007/11/23(金) 17:54:31ID:???
携帯のIPなんて変わりまくりだろw
0493nobodyさん2007/11/23(金) 17:58:14ID:???
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;;  携帯のIPなんて
  ヾ;;;ハ    ノ       .::!lリ;;r゙  変わりまくり…
   `Z;i   〈.,_..,.      ノ;;;;;;;;>  そんなふうに考えていた時期が
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f     俺にもありました
   ~''戈ヽ   `二´    r'´:::. `!
0494nobodyさん2007/11/23(金) 18:06:02ID:???
携帯「電話」であればIPアドレス持っているわきゃないな。電話番号という立派な識別子があるんだから。
端末固有番号でも使えばいいんじゃね?
0495nobodyさん2007/11/23(金) 18:26:48ID:???
携帯がwebにアクセスする場合は間にゲートウェイが挟まれる。
しかもゲートウェイは複数存在し同じ端末からでもアクセスごとのゲートウェイが一意とは限らない(負荷分散のために)
0496nobodyさん2007/11/23(金) 18:29:45ID:???
携帯のIPはアクセスしている基地局がつながっているエリアプロキシで変わるな
判別したけりゃ固体識別番号使え
0497nobodyさん2007/11/23(金) 19:42:39ID:???
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;; 
  ヾ;;;ハ    ノ       .::!lリ;;r゙  level ひっくw・・・・
   `Z;i   〈.,_..,.      ノ;;;;;;;;> 
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f  
   ~''戈ヽ   `二´    r'´:::. `!

0498nobodyさん2007/11/23(金) 20:03:38ID:???
またAA好きの小学生が沸いてるな
0499nobodyさん2007/11/23(金) 21:06:49ID:???
>>496
ということは、エリアは絞れるわけか?
0500nobodyさん2007/11/24(土) 04:46:05ID:???
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;; 
  ヾ;;;ハ    ノ       .::!lリ;;r゙  ちょっと回答者のlevelが低くないかい?w
   `Z;i   〈.,_..,.      ノ;;;;;;;;>  manualさえろくに理解してないIQの低(ry
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f  
   ~''戈ヽ   `二´    r'´:::. `!


0501nobodyさん2007/11/24(土) 04:58:21ID:???
↑中二病
0502nobodyさん2007/11/24(土) 05:47:19ID:???
>>500が見えない
0503nobodyさん2007/11/24(土) 06:22:21ID:6dZP+8ef
自然数のべき乗について質問です。
$sizen = exp(-int);
$sizen = bcpow(exp(1),"-int");
であると、どちらも同じを返してくれますが、

$sizen = exp(-float);
$sizen = bcpow(exp(1),"-float");
にすると、値が違ってしまいます。

マニュアルではexp()の方は確実にfloatで良いと分かるのですが、bcpowも左オペランドには小数点ありの文字列を使用しています。
値が違うという事は右オペランドには小数点使ってはいけないのでしょうか?
0504nobodyさん2007/11/24(土) 06:32:31ID:???
2chの全スレッドの最新レス日時を取得したいんですが、
最終レスを表示して取得する方法しかないんでしょうか?
スレが43万あるんで負荷を抑えたいのですが、
phpでどうにかする方法ありますか?
0505nobodyさん2007/11/24(土) 06:58:29ID:???
どうにか出来ても負荷が掛かるので止めたほうがいいです。
板単位なら構わんだろうけど、全スッドレはちょっとヤりすぎ。
0506nobodyさん2007/11/24(土) 07:08:28ID:???
dat に対して HEAD リクエスト、Last-Modified じゃ駄目なのか?
0507nobodyさん2007/11/24(土) 07:35:39ID:???
>>506
それが一番付加が少ないかな
でも勢いのあるスレで最終レス時間取得しても意味ないけどね(レスポンス取得時にはすでに次のレスが入ってたり)
0508nobodyさん2007/11/24(土) 07:39:25ID:???
つーか使い時がわからんなあ>>504
特定のスレッドならまだ分かるけど、全スレッドの最終書込時間調べて何になるのか興味ある
0509nobodyさん2007/11/24(土) 07:43:55ID:???
ゴミサイトを作ろうとしている予感がする
0510nobodyさん2007/11/24(土) 07:50:23ID:???
subject.txt と絡めれば各スレッドの勢いを調べられるね。
0511nobodyさん2007/11/24(土) 10:56:35ID:/CIDP61k
2ちゃんに投稿する際、以下のように直接投稿しようとすると「ERROR:referer情報が変です。」となります。
リファラを送るにはどうしたらいいでしょうか?
httpクライアントを自作してリファラの偽装をするしかないのでしょうか?


http://pc11.2ch.net/test/bbs.cgi
?bbs=php
&key=1195204145&time=1104688508
&submit=%8F%91%82%AB%8D%9E%82%DE
&FROM=test
6mail=sage
&MESSAGE=test

↑わかりやすいように改行して表示しました。submitは書き込むをURLエスケープしました。
0512nobodyさん2007/11/24(土) 10:56:56ID:???
Webアプリ自体が実用性から言えばほとんどゴミ。
0513nobodyさん2007/11/24(土) 11:01:26ID:???
>>512
2ちゃんねるは実用じゃなかったのかw
■ このスレッドは過去ログ倉庫に格納されています