【PHP】下らねぇ質問はID出して書き込みやがれ 76
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2008/11/13(木) 04:15:32ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0858nobodyさん
2008/12/03(水) 19:30:36ID:???IE Tab等のプラグインを入れて
php.netをIEエンジンで開くようにする
というか完全にスレ違いだ
0859nobodyさん
2008/12/03(水) 19:54:30ID:sIznGeZKサンプルコードありがとうございます。
勉強する取っ掛かりになりました。
0860nobodyさん
2008/12/03(水) 21:29:34ID:???0861nobodyさん
2008/12/04(木) 10:26:46ID:???メソッド中で$this = new hoge();とかで・・・
0862nobodyさん
2008/12/04(木) 10:28:26ID:uRUEQ8ocID忘れ
0863nobodyさん
2008/12/04(木) 11:20:50ID:???PHP4は出来たと思う
でも明らかにおかしな動作だからPHP5では修正されているはず
オブジェクト自身が再アサインとかアフォかと
0864nobodyさん
2008/12/04(木) 12:42:52ID:???0865nobodyさん
2008/12/04(木) 12:46:18ID:???0866nobodyさん
2008/12/04(木) 12:46:26ID:???よろしくです
0867nobodyさん
2008/12/04(木) 14:17:49ID:???var_dumpでもいいけど
デバッグのためにデバッグ出力関数の後に()つけるのだるい
print_r $debug
みたいな感じで出力できれば、()でくくる時間が短縮できる
0871nobodyさん
2008/12/04(木) 15:33:31ID:Yfb/CJcksetcompatiblemode 0x0F;
selectline
replaceall "^([\t ]*)(.*)$" , "\\1print_r($\\2);" , regular, nocasesense, inselect;
0872nobodyさん
2008/12/04(木) 16:06:10ID:???【PHPのバージョン】php4.06
【連携ソフトウェア】XML-RPC
【質問内容】
掲示板の更新があったときにホームサーバーにpingを飛ばして更新をチェックしています。
しかし、このpingを飛ばす処理に時間がかかり、掲示板の書き込み完了となるまで遅いです。
そこで、pingを飛ばす関数の処理を待たずに次の処理を開始することは可能でしょうか?
(別プロセスにするのでしょうか??)
<?php
send_ping(); ←この処理が完了する前にnext_processに移りたい
next_process();
?>
function send_ping(){
}
宜しくお願いします
0874872
2008/12/04(木) 16:17:52ID:4vOGiir20875nobodyさん
2008/12/04(木) 16:26:06ID:???別プロセスにして、切り離す方法もありだろうね。
execとかでスクリプトファイルを使う手がありそう。
あとは、先に出力をフラッシュしちゃってignore_user_abortで処理を続行する方法
負荷が高いなら、キューに保存しといて、cronで定期的にping飛ばすとか。
0876nobodyさん
2008/12/04(木) 16:27:30ID:???pingの処理を別プロセスでするしかないな
投稿と同時にping送る必要がないなら、
ファイルなりDBなりにフラグ立てて、バックグラウンド(cronとか)で定期的にフラグを確認してping送信
短い期間で複数の投稿があった場合、それらをまとめて1回のpingで済ませられる
0877874
2008/12/04(木) 16:35:22ID:4vOGiir2とてもていねいなレスありがとうございます。
せっかくphpで書いたのですが、cronの方が良さそうですね。
cronでシェルスクリプト回すことにします。
ありがとうございます。
0878nobodyさん
2008/12/04(木) 17:29:45ID:???0879nobodyさん
2008/12/04(木) 17:40:42ID:???cronでPHP動かすことってできるの?
PHPって確か実行するユーザーがいなくなると自動的に停止してクリアしてしまうはずだが
もし時間がかかるPHPプログラムをcronで回した場合、cronはそのプログラムが終了する
まで付き合ってくれるんだろうか?
0880nobodyさん
2008/12/04(木) 17:54:13ID:3hZlaj6e0881nobodyさん
2008/12/04(木) 17:54:53ID:???0882nobodyさん
2008/12/04(木) 17:56:39ID:???ユーザーの接続断で停止って話のことだろうけど、
cronで起動するのはcliインターフェースだから、cronをセットした実行ユーザーで
制限時間まで実行できる。ちなみにWeb用の制限時間とは別だから普通は問題ない。
0883nobodyさん
2008/12/04(木) 17:58:34ID:???jspをcronでwgetで実行とかもやってるけど。
0884nobodyさん
2008/12/04(木) 18:29:16ID:???webサーバーがPHPをサポートしてると明言しているときは
CLIもCGIもどちらもサポートしていると思ってok?
0885nobodyさん
2008/12/04(木) 18:33:22ID:???<?php
// ここのインデントどうしてます?
?>
<?php
echo 'hoge';
?>
か、
<?php
____echo 'hoge';
?>
か。
php の class の場合は
<?php
class hoge
?>
ってインデントとらないほうをよくみるんですが、<?php の次のインデントは
どうあるのが美しいのかな、と。
0886nobodyさん
2008/12/04(木) 18:38:57ID:???0887nobodyさん
2008/12/04(木) 18:42:15ID:???cronいじれる環境ならcliサポートしてるのが普通だと思うが、
レンサバだとサーバー会社によるだろうね。
シェルスクリプトを許可しているところもあれば、そうじゃないところもある。
そりゃ、サーバー会社の運用にそんな細かいガイドラインがあるわけないから・・・
0888nobodyさん
2008/12/04(木) 21:27:00ID:LmXIHk8w0889nobodyさん
2008/12/04(木) 21:41:05ID:0wd2VBCD読み込んでどうするの?
0890nobodyさん
2008/12/04(木) 22:46:15ID:???0891nobodyさん
2008/12/04(木) 23:31:54ID:???CD.csv と book.csvに別けてるんですけど
このデータを全部表示させたいんですよね
どうやるか教えてくれません?
0892nobodyさん
2008/12/04(木) 23:32:43ID:LmXIHk8w0894nobodyさん
2008/12/05(金) 00:15:34ID:???ファイルそのままを出力したいの?
0895nobodyさん
2008/12/05(金) 09:04:09ID:???内容をすべて一番手っ取り早く表示するならこんな感じ
echo nl2br(file_get_contents("CD.csv"));
echo nl2br(file_get_contents("book.csv"));
カラム単位でも分けたいならfgetcsvを使えばいい
ただしfgetcsvはロケールに注意すること
0896nobodyさん
2008/12/05(金) 09:07:35ID:???echo file_get_contents("CD.csv");
echo file_get_contents("book.csv");
0898nobodyさん
2008/12/05(金) 10:11:08ID:bKPFEWzIif(!empty($partO))でechoする場合$part1から$part30までの式をいちいち
書く意外に方法ありますか?
0899nobodyさん
2008/12/05(金) 10:17:41ID:???0900nobodyさん
2008/12/05(金) 11:20:49ID:???可変変数
for($i=1;$i<31;$i++){
$name = "part".$i;
echo $$name;
}
0901nobodyさん
2008/12/05(金) 12:25:28ID:bKPFEWzIありがとう!これでいけた!
<?php
for($i=1;$i<31;$i++){
$name = "part".$i;
$part=$$name;
if(!empty($part)){
echo "$name <a target=\"_blank\" href=\"$part\">$part</a><br />";
}
}
?>
0902nobodyさん
2008/12/05(金) 12:50:04ID:AszAo48qdefine ('ABC', 'abc');
とあって、
$aaa = array ( 1 => ABC . 'aiueo');
のような事を実現する方法はありますか?
0903nobodyさん
2008/12/05(金) 12:57:48ID:???言ってることがわからないのだが
>$aaa = array ( 1 => ABC . 'aiueo');
これは普通にできるでしょ?
0904902
2008/12/05(金) 13:19:06ID:AszAo48qすいません、普通にはできたんですが、やりたかったのは、
下記のような事です。
<?php
define ('ABC', 'abc');
class TestClass
{
var $a1 = array ( 1 => ABC . 'aiueo');
var $a2 = "あいうえお";
function debug()
{
print_r ($this->a1);
print_r ($this->a2);
print_r (ABC);
}
}
$_test = new TestClass();
$_test->debug();
?>
0905902
2008/12/05(金) 13:20:15ID:AszAo48q>>904 のようにやりたいのですが、何か方法はありますか?
よろしくお願いします。
0907nobodyさん
2008/12/05(金) 13:29:12ID:???blogのトラックバック機能を作りたいのですが車輪の再開発になるので
ライブラリなどありましたら教えてください
pearは知ってるので除きます
0908nobodyさん
2008/12/05(金) 13:30:11ID:???もしかして、ちがうとこでエラーが出てるとか?
var $a1 = array ( 1 => ABC . 'aiueo');
演算を含むならコンストラクタで代入した方がよさげ
0909907
2008/12/05(金) 13:32:05ID:LaqO+lJQ0910nobodyさん
2008/12/05(金) 13:44:11ID:lJXzjhqe[1] <img src="access.php?ac=1" width="1" height="1">
[2] <img src="access.cgi?ac" width="1" height="1">
を両方埋め込んでアクセス件数をカウントしてるんだけど、
一日の合計で見ると、[1]の方が必ずカウント数が少なくなる。。
何故でしょう?
0911nobodyさん
2008/12/05(金) 13:49:10ID:???よーしエスパーしちゃうぞ〜
アレの中の値に定数で定義した値を埋め込みたいということだろうっと思う
やり方は知らんがね
最悪置換えとか?
0912902
2008/12/05(金) 14:04:17ID:AszAo48qすみません、
Parse error: syntax error, unexpected '.', expecting ')' in \hoge\aaaaa.php on line 7
で、7行目というのが、
var $a1 = array ( 1 => ABC . 'aiueo');
ここです。
メンバ変数を定義する時点では、定数しか定義できないのでしょうか?
0914nobodyさん
2008/12/05(金) 14:20:36ID:???class Test {
var $a = "hoge" . "hoge";
}
ができないって言えばよかったのに
0915nobodyさん
2008/12/05(金) 14:22:10ID:???やってみたがJavaでは可能だがPHPじゃ無理なようだ
>>908の言うとおりコンストラクタでやるのがよさそう
0916902
2008/12/05(金) 14:27:18ID:AszAo48qありがとうございました。
0917nobodyさん
2008/12/05(金) 18:44:56ID:kogFg3iz-fスイッチのとき(Envelope Fromの設定)ぐらいしか使わないような気がするんですが、
経験上他に使ったことありますか?
何が良いたいかというと、mailのラップ関数を作っているんですが、
additional_parametersをenvelope_fromという引数にして、
その引数はメールアドレスだけ受け取るというようにしようかなと悩んでいるのです。
つまり、"-faaa@example.com"と受け取らないで、
"aaa@example.com"と簡潔にメールアドレスだけ受け取るようにしようかと迷っています。
0918nobodyさん
2008/12/05(金) 19:11:41ID:nX6TiXRu0920nobodyさん
2008/12/05(金) 22:42:21ID:Ovdffo4Fhttp://boon.s355.xrea.com/magpierss/nullx.php
コードは
http://boon.s355.xrea.com/magpierss/test.txt
ですが、何が原因でしょうか?
0921nobodyさん
2008/12/05(金) 23:02:57ID:???0922nobodyさん
2008/12/05(金) 23:27:21ID:???0923nobodyさん
2008/12/05(金) 23:43:05ID:???配列のキーって0から始まるのがデフォルトだよね。
表示するところ、forをやめてforeachで作り直したらどうかね。
0924nobodyさん
2008/12/05(金) 23:44:17ID:???なんじゃこりゃ
0925nobodyさん
2008/12/05(金) 23:45:24ID:???0926nobodyさん
2008/12/05(金) 23:46:18ID:???0927nobodyさん
2008/12/05(金) 23:46:42ID:???0928nobodyさん
2008/12/05(金) 23:49:13ID:Ovdffo4Fこれから、コピペしたんですが・・
0929nobodyさん
2008/12/05(金) 23:50:07ID:???0930nobodyさん
2008/12/05(金) 23:52:19ID:???0931nobodyさん
2008/12/06(土) 00:07:55ID:???他人が作ったスクリプトが使えませんって製作者に聞け
自分で作ろうとする意思がないならそもそもスレ違いだろ
0932nobodyさん
2008/12/06(土) 00:13:01ID:8p/zyVJfhttp://dailynews.yahoo.co.jp/fc/rss.xml
にしてみたんですが、やっぱりダメです。。
0933nobodyさん
2008/12/06(土) 00:16:52ID:???どんだけ初心者なんだよ
適当にdie('OK');を入れてどこまで実行出来てるかくらい確認しろ。
0935nobodyさん
2008/12/06(土) 03:49:04ID:???0936nobodyさん
2008/12/06(土) 07:21:02ID:???htdocs以下のディレクトリにあるファイルしか
表示できない、とマニュアルに書いてあるが、
<?php
$fh=fopen("C:/CONFIG.SYS","r");
$a=fgets($fh);
print $a;
?>
とかってやれば、ファイルのフルパスさえわかっていれば、
ハードディスクの中の、すべてのファイルに
アクセスできるではないか。
0937nobodyさん
2008/12/06(土) 08:06:24ID:???0939nobodyさん
2008/12/06(土) 13:13:44ID:???0941nobodyさん
2008/12/06(土) 13:20:21ID:MnyC9XAb指定したキーまたは検索した値を元に、currentの位置を移動・指定することはできますか?
0942nobodyさん
2008/12/06(土) 13:32:56ID:???ttp://www.phppro.jp/phpmanual/php/function.current.html
0943nobodyさん
2008/12/06(土) 13:58:39ID:MnyC9XAbそこを見る限り、できるようには書いていないですよね。
ただ、他にポインタを移動する方法がないとまでは
書いてないように思ったんですが?
0944nobodyさん
2008/12/06(土) 13:59:33ID:???0945nobodyさん
2008/12/06(土) 14:04:17ID:MnyC9XAb$a = array("apple", "grape", "orange", "pear");
ってあったときに、
next($a);ってすれば、
$a->current();で"grape"を取得できますが、
いきなり、orangeや$a[3]に移動したい。
で、3やorangeに移動したことを知らない他のメソッドから$a->current()で
$a[3]と同じ値を取得したいのです。
0946nobodyさん
2008/12/06(土) 14:06:16ID:???$a = array("apple", "grape", "orange", "pear");
$a->current();
Fatal error: Call to a member function current() on a non-object
と出ます
0947nobodyさん
2008/12/06(土) 14:06:46ID:MnyC9XAbcurrent($a)ですね。ありがとう。
0948nobodyさん
2008/12/06(土) 14:26:03ID:MnyC9XAb$a = array("apple", "grape", "orange", "pear");
$ao = new ArrayObject($a);
$ite = $ao->getIterator();
$ite->seek(3);
echo $ite->current(); // pearが出力される
同じことが配列でできますでしょうか?
あと、できれば、array_searchなどの値検索でポインタを移動したいんです。
0949nobodyさん
2008/12/06(土) 15:03:26ID:h6rmosdR糞ジジ糞ジジ糞ジジ糞ジジ糞ジジ糞ジジ糞ジジ糞ジジ糞ジジ糞ジジ
死死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
その老いたすがた気持ち悪すぎ白髪しわ気持ち悪すぎ
その老いたすがた気持ち悪すぎ白髪しわ気持ち悪すぎ
その老いたすがた気持ち悪すぎ白髪しわ気持ち悪すぎ
その老いたすがた気持ち悪すぎ白髪しわ気持ち悪すぎ
そのみにくい姿で世の中に出てくんなよ
死ぬとき このレスの事思い出してくれよ
しわしわしわしわしわしわしわしわしわしわしわしわ
ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・)
ちょっとは落ち込めよ そのみにくい姿で世の中に出てくんなよ
何回も言わすな死ねよ ボケ
0950nobodyさん
2008/12/06(土) 15:08:20ID:F3HkPIHBttp://d.hatena.ne.jp/toku-hiro/20061129
の記事を参考に、オブジェクト指向でMVCっぽく書き直してみたんですけども
記事のように
Controllerでユーザからのアクションを判定
↓
各処理用のクラスが定義されたphpファイルを読み込む
↓
インスタンスを生成し、クラス内のコンストラクタで処理を行う
(Controllerからメソッドは呼び出さない。
コンストラクタは$this->関数 でメソッドを呼び出し、実際の処理は行わない)
↓
処理した結果をpublicのプロパティに保存
↓
Controllerがそのプロパティをテンプレートエンジンに投げる
↓
テンプレートエンジンが整形を行って画面表示を行う
っていう方法は、正しいOOP+MVCのやり方なのでしょうか?
サンプルソースがあまり見つけられなくて上の記事が正攻法なのか判断できないもので。
0952nobodyさん
2008/12/06(土) 15:44:18ID:MnyC9XAbありがとう
やり方をおしえてください!
0954nobodyさん
2008/12/06(土) 19:46:53ID:yGRUMO6Wできる
0955nobodyさん
2008/12/06(土) 21:12:24ID:MnyC9XAbありがとう
やり方をおしえてください!
0956nobodyさん
2008/12/06(土) 21:12:56ID:???0957nobodyさん
2008/12/06(土) 21:38:56ID:MnyC9XAb考えます orz.
レス数が950を超えています。1000を超えると書き込みができなくなります。