【PHP】質問スレッド Part9
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/07/12 03:18ID:???http://www.php.net/
■日本 PHP ユーザ会
http://www.php.gr.jp/
■PHP マニュアル
http://www.php.net/manual/ja/
■PEAR マニュアル
http://pear.php.net/manual/ja/
過去スレ, 関連スレ及び注意事項等は、 >>2-3ぐらい
ヒントだけでも・・・。
もう疲れました・・・。
0303nobodyさん
03/07/29 16:59ID:???まぬあるに そのまんま「PHPをコマンドラインから使用する」てのがある。
>>302
「添付ファイル メール php」でググる。
0304nobodyさん
03/07/29 17:32ID:???RFC 読もうよ… メールのフォーマットを理解すれ。
いつも思うけど何で安易に答を求めて一次情報に当たったり基礎理解を深めようとしないのか。
0305nobodyさん
03/07/29 18:28ID:???疲れたんだったら金払う?
自分は他の労働でもして、PHPは得意な人に任せるほうがいいと思うよ。マジで
0306nobodyさん
03/07/29 18:31ID:???はdocomoなんですがちゃんと表示されてましたが。
0308nobodyさん
03/07/29 18:47ID:???携帯のブラウザの仕様に合ってれば大丈夫だと思う。
ちなみにEZはS-JISじゃないと読めないぽい。
0309あぼーん
NGNG0311nobodyさん
03/07/29 19:52ID:???安心するなよ(w
ユーザーとしての立場から質問投げてるならスレ違いだし、
趣味ならもっと腰落ち着けてゆっくり勉強しろよって思うし、
仕事ならさっさと辞めるか必死こいて基礎から勉強しろって思うyo!
0312nobodyさん
03/07/29 22:59ID:???0314nobodyさん
03/07/29 23:11ID:???どうなってるんだよ・・・
↓
291 名前:nobodyさん[sage] 投稿日:03/07/29 16:59 ID:???
>>301
まぬあるに そのまんま「PHPをコマンドラインから使用する」てのがある。
>>302
「添付ファイル メール php」でググる。
0315nobodyさん
03/07/29 23:13ID:???0316nobodyさん
03/07/29 23:22ID:???改行による単語の分割等は気にせず大雑把に。
以下のような力技は思いつきますがもっとスマートな方法がありそうなので相談に来ました。
適当な関数が見つからないでつ、、
> mb_strpos -- 文字列の中に指定した文字列が最初に現れる位置を見つける
等で行の先頭から検査を行い、マッチした場合、カウント処理を行って、次の文字列から検査を再開する。
これを行の終わりまで行う。
0317nobodyさん
03/07/29 23:30ID:???preg_match_all
>パターンがマッチした総数を返します。または、マッチしなかったか、 エラーが発生した場合にFALSEを返します。
ttp://search.net-newbie.com/php/function.preg-match-all.html
0318nobodyさん
03/07/30 01:53ID:T6SL3iv+セッションのキャパシティーの限界ってどのくらいなのでしょうか?
0322nobodyさん
03/07/30 11:47ID:???ありがとうございますた。
結局マルチバイト文字が通らずに mb_ereg_match で行数を数えました。
preg_match_all は知らなかったので勉強になりました。多謝です (_ _)
0323nobodyさん
03/07/30 13:16ID:dn8BmAq6array_walk( $array,"hoge");
function hoge(&$array, $i){
echo $i."\n";
}
を実行すると、$iは別段操作していない(というか、引いてもいない)のに
0
1
となることを偶然発見しました。この挙動は正常なのでしょうか?
0324302
03/07/30 16:37ID:???いろいろ調べました。
・メールの送信は添付があるからmail関数を使う。
・画像は一旦サーバにアップロードする。
というやり方なのでしょうか。他にもっと楽な方法ありますか?
0327nobodyさん
03/07/30 18:49ID:vO+6vZKe明日の日を表示させるにはどうしたらいいのでしょうか?
0328nobodyさん
03/07/30 18:56ID:???関数で出来ること以外に想像力働かそうよ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
0329nobodyさん
03/07/30 21:16ID:???正常だし、マニュアルにある通り。
配列のキーが2番目のパラメータとして渡されるので、
ttp://jp.php.net/manual/ja/function.array-walk.php
array("a","b") のキーは指定されていないので、(0, 1)。
>>327
マニュアルに mktime() を使った、そのままの例があるような気が。
ttp://jp.php.net/manual/ja/function.date.php
0330318
03/07/30 22:10ID:T6SL3iv+従ってあまり多くのユーザーに、同時にセッションを発行することは、
できないんじゃないかな、と思ったのですが、
そんなに気を使うこともないということでしょうか?
0331nobodyさん
03/07/30 22:29ID:???ディフォルトのままphp.iniを放置してるならそうなるね。
/tmp 以下にファイルが生成される。
セッション変数をデータベースに保存することも出来るから
ユーザーがたくさんの場合はそうして下さい。MySQLが一般
的だと思うけど、あとは自分で調べてね。
0332nobodyさん
03/07/31 02:35ID:???>具体的には鯖にファイルとして書かれていますよね?
デフォルト設定はね。
で、そのファイルって見たことある?
なければ見てみてから質問しようね。
0333318
03/07/31 02:36ID:???ありがとうございます。MySQLに保存することも出来るんですね。
今稼働させてるのは共用鯖だから難しいかもしれないですね。
ほかの方法を考えてみたいと思います。
0334nobodyさん
03/07/31 07:18ID:???libphp4.soをコンパイルした時点のバージョンなの?
apache1.3.28にアップグレードして、apachectl status
でもそれは確認済みなんだけどphpinfo();を実行
してみるとapache1.3.27のままになってる。
0335nobodyさん
03/07/31 07:40ID:CNcYnA/Mswitch ($hoge) {
case "dog":
$position = "犬";
break;
case "cat":
$position = "猫";
break;
case "bird":
$position = "鳥";
break;
}
var_dump($hoge);
その結果は
string(0) ""
となります。何かとんでもない勘違いをしてる予感がしますが、
教えて下さい。php4.3.2をソースからコンパイルしました。mbstring
とmbregexpは使えるようになってます。
0336あぼーん
NGNG0338あぼーん
NGNG0339あぼーん
NGNG0340nobodyさん
03/07/31 08:41ID:???switch ($hoge) {
case "dog":
$hoge = "犬";
break;
case "cat":
$hoge = "猫";
break;
case "bird":
$hoge = "鳥";
break;
}
var_dump($hoge);
です
0341nobodyさん
03/07/31 09:16ID:???0344nobodyさん
03/07/31 09:19ID:???0345nobodyさん
03/07/31 09:24ID:???そもそもswitchする前に、$hogeに何も入っていないのではないかと。
print_r($hoge);
exit();
をswitchの前に置いて調べてみる。
0346nobodyさん
03/07/31 10:19ID:???>>345さんの言うように print_r($_POST['hoge'])を試し
てみたところ、何も表示されませんでした。もしやと思い
HTMLを見直してみたら
<option value "left">左足前</option>
と = が抜けてただけでした。。ごめんなさい。
こういう場合ってswitchじゃなくて array("dog" => "犬")
みたいにするほうがスマートなんでつか?
0347nobodyさん
03/07/31 22:25ID:???そうだよ。こういう場合、caseよりもarrayでやった方がスマート。
一件につき1行で済むから。
それに、拡張したくなった時、arrayの中にarrayを追加する事もできる。
0348nobodyさん
03/07/31 23:31ID:???0349nobodyさん
03/08/01 07:21ID:???たまに文字化けしてしまうのですが(Sjisになってしまう)、原因が分かりません。
必ずではなく、5回に一回ぐらいなんですけど…。全て同じ移動先。
ちなみに、元&飛び先のヘッダーとHTMLのメタタグのヘッダー
で両方で文字コードは両方EUCに指定にしています。
スクリプトの文字コードも全てEUCになっています。
何故なんでしょう…(`д`;)
0350nobodyさん
03/08/01 07:21ID:GLKjs7JF0351nobodyさん
03/08/01 08:01ID:???いいと思ったんですが、どのようにすればいいでしょうか?
本を見ても、webを見てもよくわかりませんでした。
$array = array();
では、ダメっぽいです。
多分$arrayは多重配列?というやつみたいです。
的違いかもしれませんが、よろしくお願いします。
0352あぼーん
NGNG0354nobodyさん
03/08/01 10:32ID:???もしも、実現できるのでしたら、サンプルコードなど掲示して頂けますと幸いです。
0355nobodyさん
03/08/01 11:34ID:???もしブラウザがNetscape4だったら
Location時のヘッダのcharsetを参考にして
その先のヘッダは無視するのでありえる。
0356nobodyさん
03/08/01 19:56ID:???普通にできるでしょ。多重継承っぽい事をしたいなら aggregation 使って。
ただ、型チェックを手軽にできない点が難点かね。サンプルコードは例示するまでもない。
0357nobodyさん
03/08/01 22:39ID:???まぁ型チェックに関しては将来的に返り値が変わる可能性があるから
メンドイといえばメンドイか。
0358あぼーん
NGNG0359あぼーん
NGNG0360nobodyさん
03/08/02 08:54ID:???0361あぼーん
NGNG0362あぼーん
NGNG0363あぼーん
NGNG0364名無しさん
03/08/02 15:48ID:???早速やってみたのですが、まだエラーがでています。
$array = $a->Test($b);
という行の上に
$array['index'] = '';
としました。
$a->Test($b);
が何を表しているかわからないので、これであっていないんだと思います。
$array ごと初期化はできないのでしょうか?(的はずれかもしれませんが)
0365nobodyさん
03/08/02 16:39ID:???それだけじゃ何をどうしたいのか分かんないよ。
せめてエラーメッセージと、
エラーの出てる行の前後のスクリプトを表示してくれ。
でも、マニュアル見ても分かんないんじゃなぁ・・・
0366ファイル操作の質問
03/08/02 19:52ID:YoYEkQEt// ファイル名
$file_name = "test.txt";
// ファイルを追記モードで開く
$file = fopen($file_name, "a") or die("OPENエラー $file_name");
// ファイルをロックする(排他的ロック)
flock($file, LOCK_EX);
// 書き込む文字列
$string = "文字列を書き込みます";
// データを書き込む
fputs($file, $string);
// fputs()関数でデータをファイルに書き込みます。
// ロックを解除する
flock($file, LOCK_UN);
// ファイルを閉じる
fclose($file);
?>
なぜか「// ファイルを追記モードで開く」の部分でdie("OPENエラー $file_name")の方が実行されてしまいます。
なぜなんでしょうか?
もうこれに4時間ついやしてる折れって。。(´・ω・`)
0367の
03/08/02 20:14ID:AkiTeJ92ファイルの置いてあるディレクトリに書き込み権限はあるのか?
mkdir a; chmod 777 a とかして、$file_name="a/test.txt";
でやってみ。
---
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0368nobodyさん
03/08/02 20:25ID:???以下がコードです。
$b = array(
'x' => $X,
'y' => 1,
);
//$b['string'] = "";
//$b['result'] = '';
$a = $p->Test($b);
if ($a['string']){
echo $a['string'];
}else{
$end = $a['result'];
}
以下がエラーです。
Notice: Undefined index: string in
/home/user/public_html/class/xxx.php(xxx) : eval()'d code on line xx
Notice: Undefined index: result in
/home/user/public_html/class/xxx.php(xxx) : eval()'d code on line xx
0369nobodyさん
03/08/02 21:28ID:???$p->Test($b) を実行したときの戻り値が $a に入るわけだが、
その $a に $a['string'] も $a['result'] も設定されてないってことだな。
$p->Test() がそういう仕様なら Notice だから気にするな。
でないとすれば $p->Test() の中身を見てみないとなんともなぁ・・・
$p->Test() に渡す引き数ってそれで合ってる?
0371nobodyさん
03/08/02 21:51ID:sYR+wwax0372nobodyさん
03/08/02 22:34ID:2wasv+SN1行掲示板を練習もかねて作ろうと思っているのですが、
フォーム(ボタンとか、エディットボックスとか)
<INPUT TYPE="SUBMIT" VALUE="送信" NAME="action">
こうすると、NAMEで指定した物が、変数$actionとして使えるのでしょうか?
サンプルがあったので、試してみましたが、ボタンを押しても$actionには
何も入ってないようなのです。
もしかして、根本から間違ってますか?
0373nobodyさん
03/08/02 22:34ID:2wasv+SN$fp=fopen("bbs.log","r+");
rewind($fp);
fwrite($fp,$comment,256);
fclose($fp);
}
0374nobodyさん
03/08/02 23:03ID:???"かなり前から" PHPのデフォルトの設定が、
$_POST['action']や$_GET['action']を使うようになっている。
register_globalsで検索してみ。
0375nobodyさん
03/08/02 23:35ID:???勉強の仕方を間違ってる。
要するに馬鹿だって事。
マニュアルあげるから二度と来るな。
http://www.php.net/manual/ja/
0377375
03/08/03 00:17ID:???あまりに広告やage荒しが多いんでナーバスになってた。
それにフォームの処理なんてマニュアルにそのまんま載ってるし。
マニュアルで分かりにくい所とか、俺ならこうするとかだったら
まだレスのしようもあるのだが。
いくら初心者だとはいえ、>>372の質問はあまりにも安易すぎる。
0378nobodyさん
03/08/03 00:26ID:FS5J2fjrどこかに、HTMLマニュアルがあるような記述を見つけ、
その先に行ってみたけど、何処に置いてあるのかわからなかった。
0379nobodyさん
03/08/03 00:29ID:???0380375
03/08/03 00:37ID:???http://www.php.net/download-docs.php
のJapanese,Many HTML Filesを解凍してローカルに置いとくと便利。
0381nobodyさん
03/08/03 00:54ID:vKGFWbMwこれだとエラーです。
どう書けばいいのかわかる人おせーて
0382nobodyさん
03/08/03 01:45ID:???0384nobodyさん
03/08/03 04:42ID:???index.cgi?100
は100という値を取得できたんですが、
index.php?100
の取得方法がわかりません。
どうすればいいんでしょーか。。。
0385nobodyさん
03/08/03 06:35ID:???phpinfo.phpを置いて
http://127.0.0.1/phpinfo.php?100
としてじっくり眺めよ
0386nobodyさん
03/08/03 07:11ID:???0387nobodyさん
03/08/04 07:09ID:9xOvs6pQ0388あぼーん
NGNG0390nobodyさん
03/08/04 18:29ID:???http://www.php.net/manual/ja/language.variables.variable.php
0391nobodyさん
03/08/04 20:40ID:???それで回答が出せるのは FAQ だから + >>382 の予想。
$b = array('foo', 'hoge');
$a = array(
'foo' => 'bar',
'hoge' => 'huni'
);
だとまた違う。
まぁどっちにしろ >>381 はみそ汁で顔洗って出直して来なさいってこった。
0392nobodyさん
03/08/05 00:22ID:???具体的には、バーチャルサーバで言えば、
http://hoge1.example.co.jp/でphp-4.3.2を動かして
http://hoge2.example.co.jp/でphp-4.3.3-r2を動かす、
という形です。
0393あぼーん
NGNG0395nobodyさん
03/08/05 14:07ID:JWM3Qj9u変数の宣言を強制するようなのありますか?
0396nobodyさん
03/08/05 14:17ID:gEMhSTJL定数を使ったらダメなんでつか ?
えっ 違う? ((o(δ_δ;)o))ドキドキ
0398あぼーん
NGNG0399うんぬ
03/08/05 14:49ID:???明示的に型宣言したいって解釈でいいんですよね?
そもそもPHPは型無し言語なんで、"変数宣言が無い"ゆえに
宣言を強制するオプションがありません。
# う〜ん。これだと誤解を招くかしらん?
0400ヽ(´ー`)ノ
03/08/05 14:56ID:???error_reporting(E_ALL); で、値の入っていない変数を使うと警告が出るようになる。
が、代入に関しては何も言われないし、明示的な型宣言はできん。それで我慢してくらさい。
// PHP5 だと関数の引数がオブジェクトである場合に限って、型宣言できる(type hints)。
// …けど、null を許容しない、基本的な型(string, int, ...) に使えない等、使い勝手は悪い。
0401395
03/08/05 15:09ID:???phpユーザーは良い人が多いですね。
型は宣言しなくてもいいのですが
例えば
var hoge;
hoge=1;
みたいに、hogeを使うよって宣言がないといけないみたいに
できたらいいなーと思ったのですが、なさそうですね。
了解しました。
■ このスレッドは過去ログ倉庫に格納されています