【PHP】下らねぇ質問はID出して書き込みやがれ 76
レス数が900を超えています。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等)・フレームワークは各該当スレへ
0822814
2008/12/01(月) 19:50:47ID:g9VSv8cf>>821を試してみます
0823nobodyさん
2008/12/01(月) 19:57:15ID:L8HEfjQ3具体的にどのあたりでしょうか?
0824nobodyさん
2008/12/02(火) 00:24:01ID:PVQb/nvwPHP的にはどっちを使うの。違いあるのですか?
1 != 1
1 <> 1
あと、&&をandとか||をorとかも
どっちで書くこと多い?
0826nobodyさん
2008/12/02(火) 00:47:56ID:PVQb/nvwhttp://search.net-newbie.com/php/language.operators.comparison.html
ここですよね?
!=と<>の違いは結果の文章の最後に「。」があるか、無いかしかわかりませんでした
0827nobodyさん
2008/12/02(火) 00:58:49ID:???0828nobodyさん
2008/12/02(火) 04:54:35ID:???好きなの使えばいい
他言語に慣れてる人を考慮していくつか用意してるだけだから
!=なんかはほとんどの言語で一般的に使われる
<>はSQLなんかで使う
else ifなんかもelseifと半角スペースあけなくてもPHPの場合問題ない
0829nobodyさん
2008/12/02(火) 09:14:45ID:???別に違いは書き方が違うだけでコチラじゃないと駄目というものは
無かったと思う
自分ひとりがメンテし続けるなら好きにしても良いんじゃないの?
828じゃないがif():endif;なんて書き方もあったりする
0830nobodyさん
2008/12/02(火) 09:32:14ID:???0831826
2008/12/02(火) 12:45:41ID:???ありがとうございました。
好きなほうを使います。
>>830さんの書き込みが気になりますが・・・
0832nobodyさん
2008/12/02(火) 12:49:24ID:???0833nobodyさん
2008/12/02(火) 13:03:23ID:???0834nobodyさん
2008/12/02(火) 19:42:23ID:???優先順位のことならこっち
http://www.php.net/manual/ja/language.operators.php
0835nobodyさん
2008/12/03(水) 14:18:09ID:769N0vO+Start
>>1 >>3 こんにちわ
End
上記の文章で2chのようなテキストの「>>1」をURLリンク付けて置き換えしたいと思ってます。
eregなどで >>[0-9]+ これで対象部分はマッチ可能なんですが
マッチされたものを取得する方法等はありますか?
ereg_replace等であれば 変換された後のテキスト取得となってしまいます。
置き換えできればいいじゃないと思われますが、>>の後の数値が必要でして。。
何か良い事例などあるでしょうか。
0837835
2008/12/03(水) 14:39:18ID:769N0vO+色々と繰り返す中eregの第三引数で取得できると判明しました。すません
$match=">>[0-9]+";
$text=">>1 >>2 おはよう";
ereg($match,$text,$getstr);
var_dump($getstr);
しかしながら、2つめを取得できません。どうしたものでしょう・・><
0838835
2008/12/03(水) 14:41:52ID:769N0vO+ありがとう!そこまではなんとか辿りつきました。
0839nobodyさん
2008/12/03(水) 14:45:40ID:???print_r($matchs);
0840アッー
2008/12/03(水) 14:46:26ID:???○matches
0841835
2008/12/03(水) 14:49:23ID:769N0vO+アーーッ eregばかりみてましたよ!
preg・・ すばらし
本当、くだらないヤツで申し訳ありませんでした。
解決いたしました! ありがとうございました。
0842nobodyさん
2008/12/03(水) 16:11:57ID:???0843nobodyさん
2008/12/03(水) 16:29:46ID:???お守り買ってこなきゃ
0844nobodyさん
2008/12/03(水) 16:36:30ID:K11Uk0Wnそういうサービス提供しているURLご存知のかたいらっしゃいましたら教えてください。
0845nobodyさん
2008/12/03(水) 16:39:11ID:???BBQ
http://bbq.uso800.net/
0846nobodyさん
2008/12/03(水) 17:35:06ID:sIznGeZK$test->foo->bar();
$test->bar(); なら書けるんだけど、これってどうすればいいの?
どこか分かりやすいサンプルか解説があれば教えて欲しい。
0847nobodyさん
2008/12/03(水) 17:36:58ID:???0848nobodyさん
2008/12/03(水) 17:38:30ID:???メンバ変数fooにオブジェクト入れとけばいいのでは?
つか本当にしたいのはメソッドチェーンでなく?
0849nobodyさん
2008/12/03(水) 17:44:09ID:f7FsbaSIある環境では想定どおりにメールが届くんですが、
別の環境でテストすると、メールの件名が途切れて、
メールのボディの先頭に
=?ISO-2022-JP?B?MUlVJDEkXiQ3JD8bKEI=?=
From: blahblah@example.com
のようなヘッダが露出してしまいます。
正常に送信できたりするのは、MTAによって自動で長さを調整したりしてくれるのかな、と予想してるのですが、
わざわざヘッダを全部チェックして何文字目で折り返すとかいう処理を書かなきゃいけないんでしょうか。。。
0850nobodyさん
2008/12/03(水) 17:48:23ID:???受信したメールのソースを見るべき
件名が切れている部分に注目
症例: Headerの内容がBodyに流れると言うことはその箇所に改行が2つある可能性
折り返しの処理をどうするか、とかはそもそもメールが意図したソースで送信されているか確認した後に考えた方がいい
あれもこれもじゃ混乱するから
0851nobodyさん
2008/12/03(水) 17:59:53ID:f7FsbaSIアドバイスどおりメールサーバに入ってメールのファイルをviで見たところ、
---------
Subject: =?ISO-2022-JP?B?GyRCIVokKkxkJCQ5ZyRvJDshWyQqTGQkJDlnJG8kOyVVJSkhPCVgJE5B?=
=?ISO-2022-JP?B?dz8uJUYlOSVIGyhC?=
From: aaaa@example.com
以下のお問い合わせがありました
---------
こんな感じになっていました。
Thunderbirdで受け取ると、ボディに
=?ISO-2022-JP?B?dz8uJUYlOSVIGyhC?=
というヘッダが表示されてしまいます。
Subject: =?ISO-2022-JP?B?GyRCIVokKkxkJCQ5ZyRvJDshWyQqTGQkJDlnJG8kOyVVJSkhPCVgJE5B?=
=?ISO-2022-JP?B?dz8uJUYlOSVIGyhC?=
メールの仕様は確か、ヘッダの1行が長いと、改行したあと、スペースを付与する、
という仕様だったはずなので、↑を見る限り正しいように見えますが・・・
0852nobodyさん
2008/12/03(水) 18:47:25ID:f7FsbaSImb_encode_mimeheader()とMTAの相性が悪かったのか。。。
むやみに既存の関数に頼るのはよくないですね
0853nobodyさん
2008/12/03(水) 19:02:44ID:???メールの仕様は確か、ヘッダの1行が長いと、改行したあと、スペースを付与する、
という仕様だったはずなので、↑を見る限り正しいように見えますが・・・
ってそんなことRFC 2822の何処にも書いてなかったはず(記憶が定かじゃないが)
Subject:のケツの改行コードの問題な気がする
0854nobodyさん
2008/12/03(水) 19:02:51ID:sIznGeZKえっと、fooがいったい何でどう書けばいいのかが分からないんです。
メソッドチェーンではないです。
0856nobodyさん
2008/12/03(水) 19:11:45ID:???$test->foo->bar();
これの意味が知りたいということ?
それなら、>>848が答え書いてると思うけど・・
$testというインスタンスのメンバー変数にあるインスタンスが格納されて
そのインスタンスのbarメソッドを呼び出してるわけだよね
class A {
function bar() { echo "hoge";}
}
class B {
function __construct() { $this->foo = new A(); }
}
$test = new B();
0857nobodyさん
2008/12/03(水) 19:27:24ID:NrG8DUhGこちらで質問させてください。
オンラインのPHPマニュアルを頻繁に使っていますが、
ブラウザがWindows+Firefox3だと、"search for"(alt+S)のショートカットが効きません(ブラウザメニューに食われる)
唯一これが障害でデフォルトブラウザをFirefoxにできません。
何か良い方法はないですか
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:???レス数が900を超えています。1000を超えると表示できなくなるよ。