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

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

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

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

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0709nobodyさん2009/12/01(火) 00:06:15ID:???
mb_こんヴぇrt_えんこぢんgでええやん
0710nobodyさん2009/12/01(火) 00:09:44ID:???
>>708
eucで入ってくるリクエストをphpの中でutfに変換すりゃいいだけじゃないの?
phpに入る前に変換かけようったってそりゃ無理な話でさ。
0711nobodyさん2009/12/01(火) 15:33:58ID:???
a
0712nobodyさん2009/12/01(火) 18:19:04ID:+KFRV8KP
PHPでメールを送信するテストをしています。

mail関数の第五引数に
-f (送信元アドレス)
を指定すると、ちゃんと送信できるのですが、
指定しないと、処理上はtrueが返ってくるものの、
実際には送信できていません。

この場合、どこの設定を見直せばよいのでしょうか?
OSはCentOSです。
0713nobodyさん2009/12/01(火) 18:20:03ID:???
>>712
問題があるのはPHPじゃないとおもうよ
0714nobodyさん2009/12/01(火) 18:25:14ID:+KFRV8KP
>>713
となるとPostfix周りですかね。
ありがとうございます!
0715nobodyさん2009/12/01(火) 18:32:23ID:???
いや、メールって複数のサーバー介して届くのよ
Webより数倍複雑

関連しそうなキーワードだけ
SPFレコード
エンベロープ
DomainKeys

0716nobodyさん2009/12/01(火) 18:45:05ID:pkq6G5xh
【OS名】WinXP-Pro
【PHPのバージョン】php5.2.6
【連携ソフトウェア】なし

【質問内容】
MS-DOS上で動作させていますが、周期的な動作はどう書けば良いでしょうか?
やりたいことは、「5秒毎にWebサーバー上にあるテキストファイルを上書きする」です。
0717nobodyさん2009/12/01(火) 18:47:30ID:???
>>716
5秒ごとにリロードするJavaScriptの書いてあるページを表示しとく。
0718nobodyさん2009/12/01(火) 19:25:53ID:???
>>716
5秒とかだと永久ループでsleep使うってのがいいんじゃない?

while (true) {
なんか処理
sleep(5);
}
0719nobodyさん2009/12/01(火) 19:32:53ID:???
タスクスケジューラみたいなのなかったっけ
0720nobodyさん2009/12/01(火) 19:54:10ID:???
あるけど5秒じゃ無理な感じ
0721nobodyさん2009/12/01(火) 20:11:17ID:O1z84gpd
XAMPPのアンインストールを失敗してApacheだけが残ったのですが、普通にフォルダごと削除しようとしても削除されません
コレはWindowsで起動しているからだと思うのですが、タスクマネージャのプロセスで停止してから消さなきゃいけないのでしょうがどれがApacheなのか分かりません
どなたか教えていただけないでしょうか?
0722nobodyさん2009/12/01(火) 20:18:08ID:???
Unlocker使って無理やりけしt
0723nobodyさん2009/12/01(火) 20:22:32ID:O1z84gpd
http://whzat.dyns.net/textbook/apache/
コレを見ると、Apache.exeってのが起動しているようですが、自分のタスクマネージャには存在しません
XAMPPだからかは分かりませんが
う〜ん、どれを停止すればいいのかわかりません

>>722
Unlockerで消しても大丈夫ですか?
0724nobodyさん2009/12/01(火) 20:54:08ID:???
スレタイ読んだら親兄弟と一緒に市ね
0725nobodyさん2009/12/01(火) 21:28:57ID:???
OS再起動してもだめなの?
0726nobodyさん2009/12/01(火) 21:36:21ID:???
サービスに登録されてて毎回起動時に実行されるようになってるんじゃね?
サービスを無効にして再起動後削除を試みる。
場所はコンパネ→管理ツール→サービスね
0727nobodyさん2009/12/01(火) 22:35:42ID:???
XAMPPかぁ・・・
俺、実家用に諸設定がめんどくさいのでXAMPPにしようとしたんだけど、SubVersionが入ってると本に書かれていたのでやろうとしたらApacheが最起動しなくて結局普通に各自インストールした・・・
0728nobodyさん2009/12/01(火) 23:29:09ID:???
おはようございます
XAMPP ザンプって読むんですね
エックスエムピーピーって読むんじゃないんですよ。
0729nobodyさん2009/12/02(水) 00:11:10ID:???
>>728
よく学習したな
お兄さん嬉しいぞ
0730nobodyさん2009/12/02(水) 00:11:56ID:???
Aはどこいったんだよ
0731nobodyさん2009/12/02(水) 01:40:51ID:???
PHP5の例外処理についての質問です。
MySQLへの接続エラー時に例外処理を発生させようと思ったのですが、
なぜかエラーをcatchしてくれません。
mysql_connectを実行する処理で存在しないユーザでDB接続しようとして
DB接続エラーの例外を発生させようと思っています。

<?php
try{
$con = mysql_connect("localhost", "nisemono", "pass");
mysql_select_db("sna_db1", $con);
$this->execute($con);
}
catch(Exception $e){
echo "DB接続エラー:" . $e ;
}

mysql_close($con);
?>
0732nobodyさん2009/12/02(水) 02:33:10ID:???
ggr
krsz
0733nobodyさん2009/12/02(水) 03:05:19ID:???
スレタイ嫁
mysql_connectのリファレンス嫁
例外のリファレンス嫁
0734nobodyさん2009/12/02(水) 03:57:31ID:???
krszって何だっけ?
0735nobodyさん2009/12/02(水) 08:39:04ID:???
今年の流行語大賞もやっぱ糞だった
0736nobodyさん2009/12/02(水) 08:50:13ID:XLJ1VtlA
phpのリフレクションで、クラスの静的関数がスーパークラスのモノだった場合、
継承してその関数を使用したクラスの名前って取得する方法ありますかね?
0737nobodyさん2009/12/02(水) 09:25:07ID:???
【社会】FreeBSDに権限昇格の脆弱性…正式版を近く公開
http://tsushima.2ch.net/test/read.cgi/newsplus/1259712523/
0738nobodyさん2009/12/02(水) 13:35:31ID:8Zgo4w9q
function hoge($a = "a", $b = "b") {
return $a.$b;
}
echo hoge();
とやった場合abと表示されます。

echo hoge("s");
とやった場合sbと表示されます。

ここでasと表示したいのですが、
第一引数はデフォルトのものを使って、第二引数だけを指定したいのですが、
どのようにやればいいのでしょうか?
0739nobodyさん2009/12/02(水) 13:36:42ID:???
hoge(null, 's')

しね
しらべろ
ぼけ
07407382009/12/02(水) 13:51:40ID:8Zgo4w9q
すみません何か勘違いしてました。
省略してやってたスクリプトがあったので質問しましたが、
引数の型が別々になっていて型で振り分けしてるようなトリッキーなものでした。
0741nobodyさん2009/12/02(水) 13:58:39ID:KEaNjFio
【OS名】WinXP(SP2) 【PHPのバージョン】php5.2.6  【連携ソフトウェア】無しです

【質問内容】
久しぶりにPHPをやろうとコマンドプロンプトで本にあるサンプルを実行したところ
下の警告が出て前に進めません。
http://uproda.2ch-library.com/193256tTF/lib193256.png
これはバージョン確認の >php -v でも出てきて右上の閉じるボタンを押すと

PHP Warning: PHP Startup: Unable to load dynamic library 'C:\php5/ext/php_sqlite.dll'
- 指定されたモジュールが見つかりません。
in Unknown on line 0
PHP 5.2.6 (cli) (built: May 2 2008 18:02:07)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

などと出ます。実行環境php5.2.6は本のCD-ROMから再インストールしても
駄目でした。
どうしたら良いでしょうか?
07427412009/12/02(水) 14:00:29ID:???
補足:
以前(約半年前)は問題なく実行できていました。
0743nobodyさん2009/12/02(水) 14:05:01ID:???
最新の環境揃えてください
とりあえず経験者ならxamppでも入れておけばおk
0744nobodyさん2009/12/02(水) 14:05:34ID:???
dllがないからだろボケ
0745nobodyさん2009/12/02(水) 14:45:28ID:???
ドゥルル
0746nobodyさん2009/12/02(水) 14:57:25ID:???
pdoでコネクションプーリングってどうすればいいですか?
環境はubuntu9.04とphp5.xとapache2.x
0747nobodyさん2009/12/02(水) 14:57:45ID:DXr2OxkP
間違った。あげ
0748nobodyさん2009/12/02(水) 15:06:11ID:???
PHPってコネクションプールできるんだっけか
0749nobodyさん2009/12/02(水) 15:23:37ID:???
>>748
あんた誰?なんなの?
07507412009/12/02(水) 15:30:33ID:???
>>743-744
5.3.1をインストールしてOKでした。
有難うございます。
07517462009/12/02(水) 15:34:41ID:DXr2OxkP
>>748
だめっすか。pgpoolとか必要ですか
0752nobodyさん2009/12/02(水) 15:37:21ID:HX28fxfQ
WinXP-Pro,5.2.6です。

DOS上のPHPの動作をキー入力で制御するにはどうしたら
良いでしょうか?
例えば、Enterキー1回目で動作開始,2回目で停止(終了)
とういう感じです。
0753nobodyさん2009/12/02(水) 15:39:21ID:???
ID変えて質問してる教えてクンがいるな
0754nobodyさん2009/12/02(水) 15:39:34ID:???
>>751
そうなるかなー
0755nobodyさん2009/12/02(水) 15:41:34ID:???
>>754は黙っててくれないかな^^
知らないくせに「そうなるかな」じゃねえよ
0756nobodyさん2009/12/02(水) 15:43:55ID:???
>>755
ではお答えをどうぞ
PHPでコネクションプールができるのならこっちも知りたいぐらいです
0757nobodyさん2009/12/02(水) 15:45:18ID:???
>>755
さっさと答えろよ^w^
0758nobodyさん2009/12/02(水) 15:45:37ID:???
見とけ
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=PHP%E3%81%A7%E3%82%B3%E3%83%8D%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%97%E3%83%BC%E3%83%AB&num=50
0759nobodyさん2009/12/02(水) 15:47:59ID:???
ようするに分からないのに煽るのは一人前のいつものちんぴら君なわけね
0760nobodyさん2009/12/02(水) 15:49:09ID:???
>>759
自分のことですね
0761nobodyさん2009/12/02(水) 15:49:34ID:???
ケンカするなよ・・・

>>751
とりあえずDBの種類を明記して。pgpoolってことはPostgreSQLでOK?

あとマニュアルの持続的な接続も見て。
http://jp2.php.net/manual/ja/pdo.connections.php
0762nobodyさん2009/12/02(水) 15:51:06ID:???
それはコネクションプールとちゃうで・・・
0763nobodyさん2009/12/02(水) 15:51:21ID:???
煽ってる自覚の無い>>759
0764nobodyさん2009/12/02(水) 15:56:38ID:???
結局PHP+Apacheではミドルウェア入れないとできないってことでいいのかな?
0765nobodyさん2009/12/02(水) 15:59:16ID:???
>>755
早く答えてよ
0766nobodyさん2009/12/02(水) 16:05:01ID:???
また煽られて悔しい人が連投で荒らしてるのか
飽きないね〜
0767nobodyさん2009/12/02(水) 16:06:48ID:???
残念だが俺は>>765で1回発言したきりだ
0768nobodyさん2009/12/02(水) 16:18:41ID:???
>>755
自分も知らないくせにそうなるかなーというレスが気にいらなかっただけで煽るただの餓鬼

>>757 >>759 >>760 >>763 >>765 >>766
煽りに煽りで返す阿呆集団

>>758
コネクションプーリングができるとググル先生が言ってるぞと言う厨房

>>756 >>761 >>762 >>764
まともな人間と見せかけてどこかで煽りに参加してる阿呆集団の一人
0769nobodyさん2009/12/02(水) 16:24:33ID:???
ID出たら楽しみだなw
0770nobodyさん2009/12/02(水) 22:03:26ID:???
どなたか>>40お願いします
0771nobodyさん2009/12/02(水) 22:07:55ID:???
>>770
http://jp.php.net/manual/ja/pdo.installation.php
http://jp.php.net/manual/ja/pdo.configuration.php
0772nobodyさん2009/12/02(水) 22:08:36ID:???
<<771
ありがとうございます
0773nobodyさん2009/12/03(木) 10:49:04ID:???
このスレの85%は自称自治集団によって構成されております
0774nobodyさん2009/12/03(木) 14:21:03ID:???
>>752
スクリプトファイルを入出力と処理に分けて、
入出力側は fgets(STDIN) でコマンドライン入力を受け取り
処理側スクリプトを proc_open(), proc_close() するでどうだい
0775nobodyさん2009/12/03(木) 14:59:54ID:5T9WpFv8
例外処理についてですが、

$arr = array('test1'=>1, 'test2'=>2);

try {
 echo $arr['test3'];
} catch (Exception $e) {
 echo $e;
}

これだと普通にPHPのエラーが表示されてしまいます。(Undefined index test3)
こういう使い方はダメなんでしょうか?
例外処理について教えて頂けると助かりますm(__)m
0776nobodyさん2009/12/03(木) 15:15:48ID:???
つマニュアル
0777nobodyさん2009/12/03(木) 15:23:51ID:5T9WpFv8
>>776
スレ題通り、くだらない質問かもしれませんが
マニュアルは読んでもイマイチ理解できなかったので教えてください。

例外をcatchするには、自分で例外を投げないといけないのでしょうか?
それだとぶっちゃけif文とかわらないですよね?
0778nobodyさん2009/12/03(木) 15:34:32ID:???
>>777
$arr['test3']を初期化するかerror_reporting(E_ALL ^ E_NOTICE)でもぶちこんどけ
0779nobodyさん2009/12/03(木) 15:35:31ID:???
PHPで例外処理が可能だと知らなかった俺。。
0780nobodyさん2009/12/03(木) 15:37:20ID:???
まさか例外処理も知らないでこのスレで回答してたわけじゃ・・・
0781nobodyさん2009/12/03(木) 15:40:24ID:???
例外処理とかいらねーよ
安心させる為にあるだけ
0782nobodyさん2009/12/03(木) 15:42:08ID:???
まあ最近っちゃ最近だからな
あればあったで便利だな
そろそろ4系は葬ってほしいぜ
0783nobodyさん2009/12/03(木) 15:44:40ID:???
>>775の場合は全角スペースが入ってるからエラー吹いてるんだと思う。
0784nobodyさん2009/12/03(木) 15:51:02ID:5T9WpFv8
>>778
予期せぬ値がキーに入った時の為の例外処理なわけで、初期化する位だったら例外処理も必要ないです。
というかサンプルコードが適当すぎですよね・・・すみません。
error_reportingは最終的にはオフにする予定ですが、今はまだ作成段階なのでエラー発見の為にも表示しなくてはなりません。

で、結局以下のように自分で例外を投げるようにしました。(サンプルなので、実際はこれだけのコードなら大人しくisset()使っておけば済む話なのですが。)

$arr = array('test1'=>1, 'test2'=>2);

try {
echo $this->check($arr, 'test3');
} catch (Exception $e) {
echo $e;
}

function check($arr, $index) {
if(!isset($arr[$index])) {
throw new Exception(sprintf('Undefined index %s', $index));
}
return $arr[$index];
}

>>783
全角はわざとです。見やすいほうがいいかと思い全角にしました。
0785nobodyさん2009/12/03(木) 15:51:22ID:???
>>775

<?php
echo $arr['test3'];
?>

やってみ
例外関係ないから
0786nobodyさん2009/12/03(木) 15:58:00ID:???
http://www.shigeweb.jp/php/project_p/?page=exception§ion=php5oop
0787nobodyさん2009/12/03(木) 16:02:18ID:???
2004年(笑)
0788nobodyさん2009/12/03(木) 16:06:21ID:5T9WpFv8
>>786
とても分かりやすいサイトを教えて頂きありがとうございます。
そのサイトに書かれているように、手動で「例外」を投げないと処理が実行されないという所で悩んでました。
JavaScriptだと自動で投げてくれるので、PHPもてっきりそうだと思って・・・。

万事解決です!お答えくださった皆様ありがとうございました!
0789nobodyさん2009/12/03(木) 16:12:24ID:???
万事解決なのか
エラーハンドラ使えばいいのに
0790nobodyさん2009/12/03(木) 16:17:42ID:???
的外れな回答多すぎwww
無能ばっかだなワロスwww
0791nobodyさん2009/12/03(木) 16:20:16ID:???
なんかきた
0792nobodyさん2009/12/03(木) 16:49:38ID:???
まぁ無能ばっかは同意
0793nobodyさん2009/12/03(木) 17:12:20ID:???
無能さとwの数は比例するらしいよ
0794nobodyさん2009/12/03(木) 17:45:56ID:???
まあwだらけの書き込みは頭が良くないように見えるのは確か
0795nobodyさん2009/12/03(木) 18:35:28ID:FkIkewDA
test.phpにtest.php?A=a&B=bでアクセスして、
phpと同じ階層に「a, b」というデータを記録していのですが
どういった記述にすればいいでしょう?
0796nobodyさん2009/12/03(木) 18:36:04ID:9BLN2rJ9
【OS名】Fedora10
【PHPのバージョン】php5.26
【連携ソフトウェア】Services_Twitter
【質問内容】
Twitter上で動くbotを開発しています。
現在はbotはcronで毎分呼び出されてシェルスクリプト経由でphpに渡されるのですが、
人工知能のような汎用処理系を目指しているので実行時に膨大な数の設定ファイルを読み出すため、処理に負担をかけています。
現在の処理:cronからシェルスクリプト呼び出し->phpにファイルを渡す->設定ファイルを読み出す(連想配列に格納)->随時設定を配列からロードし利用する
の設定ファイルの読み出しで多大な時間をとられています。

これを解決するためにループ処理で常時スクリプトを実行(定期的に取得と返事のみ実行)という案を考えつきましたが、
このような事は可能でしょうか。可能ならば実装方法と留意点も教えていただけるとありがたいです。
0797nobodyさん2009/12/03(木) 18:55:06ID:???
>>795
1.GETパラメータを取得
2.ファイルを書き込み属性つきでオープン
3.ファイルに書き込み(なくてもいいが書き終わったらファイルをクローズ)

あとは調べろコードもらっても勉強にならん
0798nobodyさん2009/12/03(木) 18:56:20ID:???
>>796
Gearmand導入してみたら
0799nobodyさん2009/12/03(木) 19:31:03ID:???
>>796
max_exection_timeを0にしてwhile(true)
0800nobodyさん2009/12/03(木) 19:32:54ID:???
>>797
できた!!!!!!!!!!!!!
お前様にとてつもなく感謝する。
0801nobodyさん2009/12/03(木) 19:35:18ID:APsxzQ0B
【PHPのバージョン】php4.3.9
4.3.10 からサポートされた、sprintf フォーマットのロケールに依存しない
浮動小数点数表現 F と同じ動作を実現するにはどうしたらいいですか?
0802nobodyさん2009/12/03(木) 19:45:06ID:???
PHPをバージョンアップするのが一番楽
0803nobodyさん2009/12/03(木) 19:49:22ID:9BLN2rJ9
>>798
>>799
ありがとうございます。なんとかなりそうです。
0804nobodyさん2009/12/03(木) 21:04:31ID:DjsgAevR
どうしてもShiftJISにする必要があって、UTF8からmb_convert_encodingで変換してるんだけど、
sjis,sjis-winに無い文字が含まれるとき、?になるときとならない時があって困ってます。
タイミングによって結果が変わるのも解せないんだけど、同じことで悩んでたりスマートな解決策わかる人いませんか。
0805nobodyさん2009/12/03(木) 21:08:03ID:???
元データをsjisで作り直す
0806nobodyさん2009/12/03(木) 21:08:31ID:???
出力する前に正規表現でsjis範囲外の文字を削除するか別の文字に置き換えるといい
0807nobodyさん2009/12/03(木) 21:14:56ID:DjsgAevR
>>805
元はUTF8なんですよ。TwitterAPI。
毎回結果かわるからconvert_encodingはだめだし。

>>806 の方法試してみます。
mb_encode_numericentityが使えそうな気がしてきた。
0808nobodyさん2009/12/03(木) 21:19:13ID:???
携帯かWindowsのCUIで使う以外ならShift-JISを使うのはやめて方が良い
■ このスレッドは過去ログ倉庫に格納されています