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

【PHP】くだらねぇ質問はここに書き込みやがれpart3

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん05/02/07 21:47:15ID:???
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
0652nobodyさん05/02/26 23:43:58ID:zgM2ruO5
ちょっと自分の力量では無理っぽいので質問させて頂きます。
POSTでバイナリーデータを受け取り、変数に入れる場合、どのようにすれば
良いのでしょうか?どんな情報でも結構ですがので、どうかアドバイスお願い
致します。
0653nobodyさん05/02/26 23:55:56ID:???
>>652
ttp://php.s3.to/man/features.file-upload.html
065465205/02/27 00:04:35ID:Quvh5uNr
>>653 様

情報ありがとうございます!
クライアントから送られてきたバイナリファイルは、$HTTP_POST_FILES
でサーバ(PHP)側で受け取れるということであってますでしょうか?
0655nobodyさん05/02/27 00:12:08ID:G/Og0QBF
買い物カゴをperlで作成する際に、クライアントのカゴを保持したいのですが、
カゴとクライアントをどのようにつなげてよいかわかりません。

つまり、カゴにIPアドレスを付ければある程度誰の買い物籠か
わかりますが、それではproxyを経由しているPCたちはみんな同じ
カゴになってしまいます。どうしたらよいのでしょうか?
0656nobodyさん05/02/27 00:16:33ID:???
perlのスレにいけばよいかと
0657nobodyさん05/02/27 00:21:39ID:???
>>655
ここはPHP(言語)スレですよ。

買い物カゴのように複数のhttpアクセス間でデータを継続するには
セッションと呼ばれる仕組みを使います。
perlにもセッションを提供するモジュールがありますが、
簡単な物の場合は自作してしまってもよいでしょう。
自作する場合には、
1. cookieや urlの一部に データそのものを付加する
2. データ本体はサーバ上のファイルに保持しておき、
 そのデータへのIDとなるものをcookieやurlの一部に付加しておく
の2つの方法があります。
0658nobodyさん05/02/27 01:13:03ID:G/Og0QBF
>>657
なるほど、ありがとうございます。場違いな場所…すいませんでした。

クッキーを使ってみます。本当にありがとうございました!!
065965205/02/27 02:28:21ID:Quvh5uNr
なんどもすいません。
受け取ったバイナリデータを$dataに入れ
filesize($data);
とやってもエラーになるのですが、バイナリデータのサイズはfilesize()
では取れないのでしょうか・・・(T.T)
0660nobodyさん05/02/27 03:02:55ID:???
>>659
変数のバイト長ならstrlenでいいんじゃない?
アップロードされたファイルのサイズを知りたいなら一時ファイルのサイズで
filesize()すればいいだけだよ。
066165905/02/27 03:51:26ID:Quvh5uNr
>>660
そうでした。strlen()でいけました。
ありがとうございます。
0662nobodyさん05/02/27 18:49:25ID:/nNhQDUH
あるhtmlファイルを ftp_put でアップロードする際に、
内部の文字列を一部変更したいのですが、
どのようにすればいいでしょうか?
0663nobodyさん05/02/27 18:56:05ID:???
>>662
先にナメて痴漢した上でうp。
0664nobodyさん05/02/27 23:32:30ID:???
DBにアクセスするためのパスワードなど各種設定を別ファイルに保存しておいて
実行時に読み出すようにしているのですが、この設定ファイルを当該スクリプト以外から
読み出されないようにするにはどうすればいいでしょうか?

ちなみに共用サーバーなのでサーバー側の設定はいじれません。
0665nobodyさん05/02/28 00:41:54ID:???
>>664
>当該スクリプト以外から
自分の設置するスクリプト以外からってこと?

んで、サーバの情報ヽ(`Д´)ノクレヨ
0666nobodyさん05/02/28 00:53:52ID:???
>>664
無理。
0667nobodyさん05/02/28 00:54:06ID:???
>>665
そうです。
もしくは読み出されても悪用されないようにデータを暗号化しておくなどでもいいのですが。

あと、サーバー情報ってどんな事を書けばいいのですか?
0668nobodyさん05/02/28 09:08:11ID:Cd7H0ok5
Win32のApache 2.0.48と、PHP4.3.5で、問題なく動いていたのですが、
PHPを4.3.10にしようと思い、

・c:\php\以下を全部削除、
・4.3.10の中身をコピー
・php.iniをwindowsフォルダにコピー

そしてapacheの再起動しました。
エラーで起動せず、イベントビューワーにはphp4apache2.dllが見つからないと。
もちろんパスは合っているし、直前まで前VERで動いていた、
何か変更でもあったのでしょうか?

0669nobodyさん05/02/28 09:22:35ID:???
>>668
apache2.dllのパスが合っているならts.dllも入れ替えろ
窓ユーザーってこんなんばっかか・・・
0670nobodyさん05/02/28 09:32:11ID:???
>>669
うるせー馬鹿
067166805/02/28 09:55:08ID:???
>>669
あ、忘れてた・・・サンクス
067266905/02/28 11:21:28ID:???
>>670
犬ユーザーに言わせるな、カス!笑

>>671
動いて良かったね^^
0673nobodyさん05/02/28 11:23:49ID:???
参照元が検索エンジンからの場合にキーワードを抜きたいと
考えているのですが何処かにパターンマッチの参考になる
スクリプト等をご存じないでしょうか?
0674nobodyさん05/02/28 21:09:40ID:NQSvt/75
自分で作った連想配列をスーパーグローバル変数にすることって可能でしょうか?
0675nobodyさん05/02/28 21:22:22ID:???
>>673
parse_url() を使うのはどうだろう。
0676nobodyさん05/02/28 21:57:28ID:???
$logfile = "***.dat";
のようにDATAファイルのファイル名を不特定にする表現ってどうするのでしょうか?
英字や数字もカバーしたいんですが「.*」じゃだめでした。

もう一つ質問なんですが、PHPとあまり関係なくて申し訳ないのですが
Windowsは半角のバックスラッシュ(\)は普通に打ち込めるものなんですか?
当方Mac+miなんですがマニュアルサイトをIEで見ると\に化け、
iCabで見るとちゃんと半角バックスラッシュ、それをコピペするとやはり\。
文字パレットでバックスラッシュを打ち込もうとしたんですが
全角しか無く、参ったんですが…
0677nobodyさん05/02/28 22:06:46ID:???
>>676
とりあえずプログラミング…というか、PC自体素人?
半角の場合、¥と表示するか、「\」とするかはフォント次第。

Macの見やすいOsakaフォントをWinで使おうプロジェクト
http://osakattf.hp.infoseek.co.jp/

このOsakaフォントはきちんと「\」になってるよ。
漏れ、WinでのPGはOsakaしか使ってない気がする・・・。


で、"*.dat"だけど、どんなときに使うの?
使用する場所によりけりで実装の仕方変えるべきだぞ。
preg_match("/^[0-9A-Z]+\.dat$/i",$hoge)なり使うとかになりそう。
0678nobodyさん05/02/28 22:06:59ID:???
くだらない質問スレに池・・・ってここがそうか。。
ではドゾー
↓
067967805/02/28 22:07:38ID:???
ヒィィ
>>678
>>677
っと
0680nobodyさん05/03/01 15:36:15ID:???
ちょっと行き詰まってしまったので、質問させて下さい。

php4+smarty+jpgraphで、グラフを作っています。
以下を参考にして、MVC(よく理解してませんが)で作ろうとしています。
ttp://www.stackasterisk.jp/tech/php/phpMvc01_02.jsp

この場合、グラフを出力する処理はどこに書くべきでしょうか?

1. index.phpでGETを受け付け、そのGETをそのまま、表示部で引っ付ける
<img src="index.php?action=display_graph&以降パラメータ" >

controller.phpの中でclass/graph.phpを呼び出して、その中で処理。
index.phpがページ表示とグラフ表示を両方行う。

2. graph.phpという別単独スクリプトを作って
<img src="graph.php?以降パラメータ" >
index.phpがページ表示、graph.phpがグラフ表示を行う。

2.は MVCでないような気がします。
1.もなんとなく間違っている気がします。
1.の場合だと、一度パラメータを受け取って、もう一度それを出力すると
いう無駄な処理があるのですが、これでいいのでしょうか?

スマートな方法を教えて頂けないでしょうか?
よろしくお願いします。



0681nobodyさん05/03/01 21:32:45ID:3VPrEAk/
変数は何個まで使っていいの?上限ってあるの?100万個使っても大丈夫?
0682nobodyさん05/03/01 22:17:17ID:???
何を考えてるのかな
0683nobodyさん05/03/02 01:28:12ID:???
>>681
マニュアル読め
Linux系は1000個、 Windows系は100個
0684nobodyさん05/03/02 01:46:25ID:???
>>664
呼ばれるファイルがPHPであれば定数の有無で判別できるけどな
完璧じゃないが‥‥
0685nobodyさん05/03/02 02:32:19ID:???
>>683
正確には
Uinux系は1024個、 Windows系は128個
じゃなかったか。リファレンステーブルの限度だよな。
0686nobodyさん05/03/02 03:13:37ID:???
掲示板を作成しているのですが、親記事と子記事を
ひとつのファイルにまとめて


1<>0<>〜〜
2<>1<>〜〜
3<>1<>〜〜

1番目は記事番号、2番目は0が親記事、1が子記事として
読み込み時に判定させる方法と

親記事と子記事を別々のファイルに保存し、
子記事は親記事の記事番号をキーとして持っており、
親記事は子記事がいくつ存在するかの情報を持たせて、
3つ存在するなら、子記事ファイルのほうから自分の記事番号と
一致する子記事を3つ読み込む

というような方法のどちらを使ったほうが効率がいいのでしょうか?

効率がいいか悪いかの判断は書き込みのほうが多いのか表示するほうが多いのかで
判断するのでしょうか?

0687nobodyさん05/03/02 03:40:35ID:???
>>686
親記事と子記事は入れ子になるの?

>効率がいいか悪いかの判断は書き込みのほうが多いのか表示するほうが多いのかで
>判断するのでしょうか?
意味がわからない。
0688nobodyさん05/03/02 03:58:19ID:???
>>686
単純に表示だけで考えたら
もしKENTのYY-BOARDのような表示形式を考えてるなら
前者の方が効率がいいと思う
2chのようにスレッドタイトル(親記事)を一覧表示させて
そこから子記事(スレッド)を表示させるっていうなら後者の方が効率がいい

あとファイルサイズとファイル数の問題もある
前者は大規模で使われると途端にファイルサイズがでかくなり
目的の記事を探すのに時間がかかるだろうし
後者は大量の親記事に1個2個程度の子記事が作られたとき
小さいファイルが大量に出来ていく

全然答えになってなくてゴメンって感じだが
要は用途を想定しないと効率なんて考えられないってことだ
0689nobodyさん05/03/02 05:09:54ID:XnVo8Giw
if 文の()内で、$name が文字列 abc または def に一致する、
という条件はどう書くんでしょうか?

if ($name == ('abc'|'def'))

ダメですorz

0690nobodyさん05/03/02 06:27:07ID:???
if($name == "abc" or $name == "def")
069168905/03/02 06:37:20ID:???
>>690
お早うございます。

やっぱりそう書くしかないんでしょうか?
$name が重複してしまうのが、何となく嫌な感じがして、
perlでは>>689のように書けたような気がしまして。
とにかく、どうもありがとうございました。
0692nobodyさん05/03/02 08:43:58ID:???
>>689
正規表現がそのまま書けてしまうのは
ある意味特殊(Perlの特色)なので、必要であれば
"普通"に正規表現関数を使って書けばよいのでは?
0693nobodyさん05/03/02 08:56:03ID:???
in_array($name,array('abc','def'))とか。
意味ねーナ
0694nobodyさん05/03/02 10:20:55ID:???
>>691
正規表現使いたければ
if (preg_match("/^(abc|def)$/", $name))
ただ正規表現使うと確実に重くなる
正規表現使う必要がなければorやandを10個並べても全然嫌じゃないです
0695nobodyさん05/03/02 11:46:53ID:???
個人的には
>if($name == "abc" or $name == "def")
なパターンは、switchで書くようにしてる。

switch($name) {
case 'abc':
case 'def':
echo "Match";
break;
default:
break;
}
0696nobodyさん05/03/02 12:32:21ID:???
>>694
こういう単純な比較を10個並べた場合、and/orとpreg_matchはそれほど変わらないと思う
とくにどれにもマッチしないとかそういう時は。

もちろん最初の一個にマッチした場合はorの圧勝だろうけど。
0697nobodyさん05/03/02 20:14:45ID:???
>>683 >>685
アリガト
0698nobodyさん05/03/02 20:53:02ID:???
if($hoge == $hage){
 print "PIKA";
}
という条件式を、Perlの場合、

print "PIKA" if $hoge == $hage;

という書き方ができました。

PHPで同じような書き方はできないでしょうか?
0699nobodyさん05/03/02 21:03:27ID:???
<?php
 echo 'Hellow';
?>
と、
<?php
/*
複数行用のコメント
以下数万行(約10000K)
*/
 echo 'Hellow';
?>

<?php
 echo 'Hellow';
/*
複数行用のコメント
以下数万行(約10000K)
*/
?>

では、リクエストされてから表示されるまでの時間に差異は出るのでしょうか?
実際に試してみたいのですが、今使っているサーバ自体が糞で、
同じスクリプトを呼んでも、レスポンスにばらつきがありすぎて確認できません。
0700nobodyさん05/03/02 21:03:47ID:SuYdpkb9
if ($hoge == $hage) print "PIKA";
0701nobodyさん05/03/02 21:03:56ID:???
変数の数って上限あったのか、俺知らなかった・・・ごめん。
0702nobodyさん05/03/02 22:30:57ID:???
ディレクトリの中のファイル一覧を知りたいのですがどうしたらいいですか?

配列とかで取得できると後が楽でうれしいです。
PHPポケットリファレンスとphp manualを読んでそんな関数が見つからなかったので教えてください。
お願いします。
0703nobodyさん05/03/02 23:03:36ID:???
元質問者じゃないんですが変数の数の上限はどこに記載されているのでしょうか?
調べてもわからなかったんで実際に変数作ってみたら100万個までは作成できるみたいなんですけど。
0704nobodyさん05/03/02 23:04:55ID:???
>>702
>PHPポケットリファレンスとphp manualを読んでそんな関数が見つからなかった
0705nobodyさん05/03/02 23:06:37ID:???
>>702
>php manualを読んでそんな関数が見つからなかったので

読みが浅い。
「opendir」の項を嫁
0706nobodyさん05/03/02 23:10:35ID:???
むしろ「readdir」だな
0707nobodyさん05/03/02 23:12:14ID:???
うわーホントだ。読んでねえ俺・・・orz
どうもありが�d >>705
070868905/03/02 23:35:30ID:???
>>692-696
詳しい解説と考察をありがとうございました。マニュアルには

>複雑な処理を行ったり、 重い繰り返し処理を行う場合、
>switchの方がより処理が速い可能性があります

とありますが、今回のは簡単な処理だと思いますし、行数を
減らしたいので if を使います。
0709nobodyさん05/03/02 23:55:12ID:???
PHPicalendarで↓のような警告文が出て参ってます
もう何がなんだかちんぷんかんぷんです。
どなたかどういう警告で何が原因なのか教えてくださいお願いします・゚・(´Д`)・゚・
------------------------------------------------------------------------------------
Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is 11005 is not allowed to access /tmp owned by uid 0 in /PHPicalendarまでのパス/functions/ical_parser.php on line 1070

Warning: fopen(/tmp/parsedcal-Home-2005): failed to open stream: No such file or directory in /PHPicalendarまでのパス/functions/ical_parser.php on line 1070

Warning: fwrite(): supplied argument is not a valid stream resource in /PHPicalendarまでのパス/functions/ical_parser.php on line 1071

Warning: fclose(): supplied argument is not a valid stream resource in /PHPicalendarまでのパス/functions/ical_parser.php on line 1072

Warning: touch(): SAFE MODE Restriction in effect. The script whose uid is 11005 is not allowed to access /tmp owned by uid 0 in /PHPicalendarまでのパス/functions/ical_parser.php on line 1073
------------------------------------------------------------------------------------
0710nobodyさん05/03/03 00:58:57ID:pcZIX8SU
$a=1
$_SESSION['$a']
こんなかんじで使いたいのですが、$aを展開する書き方はありますでしょうか?
$_SESSION['$_SESSION[$a]']
↑できればこれも。。
わかりづらい説明ですみません。うまく説明できないです。
071171005/03/03 01:20:37ID:???
>>709
上で710程度の質問してるくらいなので詳しいことはわかりませんが、
SAFE MODE phpで検索すればそれらしきものが出てきます。
一行目:今のUIDでは/tmpへアクセスができない
二行目:fopen(/tmp/parsedcal-Home-2005) 作成されるはずだったファイルがないため開けない。
三行目:存在しないので、ロックもできない
四行目:存在しないので、書き込みもできない

ということではないでしょうか?詳しい方どうでしょ?
0712nobodyさん05/03/03 02:01:11ID:???
>>710
シングルクォートを外せば良い。
$_SESSION[$a]
$_SESSION[$_SESSION[$a]]

>>709
711 の説明でだいたい正しいように思う。
SAFE MODE を外せないのであれば、テンポラリファイルを作成する
場所を /tmp から適当な httpd の動作権限で書き込み可能な
ディレクトリに変更すれば動作するのでは?
071371005/03/03 02:13:20ID:???
>>712
望んでいた結果が得られましたありがとうございます。
0714nobodyさん05/03/03 09:13:21ID:L91eb6rn
すみません。ちょっと、教えて頂けますでしょうか。
PHPで、リロードせずに時刻を常に更新させたいのですが、どのように
すれば良いのでしょうか。

<?php
while(True)
{
print(date("Y/m/d h:i:s"));
}
?>

と書くと、「2005/03/03 09:16:57」という文字が連続して表示され、
1秒も進みません。
時刻を更新し続けたいのですが、どなたかやり方を教えて頂けま
すでしょうか。何卒、宜しくお願い致します。
0715nobodyさん05/03/03 09:36:32ID:???
>>714
print(date("Y/m/d h:i:s")) が実行にかかる時間をちょっと調べてみようか。

$start = microtime(); // マイクロ秒単位でunixタイムスタンプを取得
print(date("Y/m/d h:i:s"));
$stop = microtime();
print ($stop-$start);

一回だけの試行なので信頼性はあんまり無いんだが、
うちの環境だと 0.000204秒になった。4900回/秒 くらいってことだな。

sleep()を使って1秒に一回くらいのペースでdate()を実行させるか、
そもそも鯖側で実行させずにJavaScript等のクライアント側でやらせた方がよいと思われ。
0716nobodyさん05/03/03 09:40:35ID:???
>>714
metaタグでリフレッシュする(結局リロードと一緒なのであまりサーバには良くない)
表示するだけならJavaScriptでやっとけ
0717nobodyさん05/03/03 10:40:32ID:7OeoLBpl
mb_send_mailはメール送信先にメールが届けられて初めてTRUEが返ってくる
ものですか??
でたらめなアドレスを送信先引数にしてもTRUEが返ってくるのですが・・・。
0718nobodyさん05/03/03 11:09:37ID:???
>>717
最初のMTAに処理を依頼した結果が返ります。
0719nobodyさん05/03/03 11:24:02ID:7OeoLBpl
MTAとは
インターネット内で電子メールを配送するソフトウェア。
ユーザが送信したメールを受け取って、他のサーバと連携して
バケツリレー式に目的地まで配送したり、
届いたメールをユーザが受け取るまで保管したりする。
ってことは送信先に届けましたよってことでTRUEが返ってくるわけでは
ないということでしょうか??

0720nobodyさん05/03/03 11:53:35ID:???
>>719
例えばsendmailの場合、下のurlにあるような結果(終了コード)を返す。
ttp://www.linux.or.jp/JM/html/sendmail/man8/sendmail.8.html
sendmailがどう設定されているかはその鯖の管理者にしか分からん。
そして、PHPはこの終了コードだけを見て適当に加工してmb_send_mailの返り値としている。
phpのソースコードをぱっと見た感じでは、EX_OKの時にtrueを返しているみたいだな。

つーわけで、mb_send_mail == trueになったからと言って、
そのメールが確実に相手に届いているかどうか(届く予定かどうかさえも)分からない。
確実に届いたかどうか確認したきゃ、メールの中にidを含んだURLを書いておいて
相手にアクセスさせるくらいしかないわな
0721nobodyさん05/03/03 12:32:41ID:7OeoLBpl
詳しい説明ありがとうございます。
感謝です。
0722nobodyさん05/03/03 13:08:25ID:T3a2sbue
PHPを使って、ページAを表示しています。
そのとき、ページAの中心部分に、外部テキストデータBを挿入したいと考えています。
しかし、外部テキストデータBを呼び出すには多少時間がかかるため、
可能ならばページAを表示した後、時間差で外部テキストデータBを表示したいと考えています。

これを実現するためにはPHP内でやるよりも、iframeを使うのがいいのかなと思っているんですが、
iframeだと最初に縦横サイズを決めておかねばならず、テキストの量が変化するし実に不便です。

時間差で後からテキスト文を挿入する方法があれば、教えてください。
0723nobodyさん05/03/03 13:48:25ID:???
>>722
javascriptでも使えよ・・
0724nobodyさん05/03/03 13:53:11ID:???
なんだと
0725nobodyさん05/03/03 15:11:55ID:T3a2sbue
>>723
JavaScriptだと、時間差で読み込みできますか?

document.write(外部ファイル)

みたいな感じでいいでしょか?
0726nobodyさん05/03/03 16:18:55ID:7OeoLBpl
質問です。
mb_send_mailでエラー返送先Return-Pathを指定しなかったら
fromで指定したところにエラー返送されますか??
072770905/03/03 16:51:52ID:???
>>711-712
丁寧なレスありがとうございます

-------
1067行   // write the new master array to the file
       if (isset($master_array) && is_array($master_array) && $save_parsed_cals == 'no' && $is_webcal == FALSE && $cal != $ALL_CALENDARS_COMBINED) {
              $write_me = serialize($master_array);                   ~~~~
              $fd = fopen($parsedcal, 'w');
              fwrite($fd, $write_me);
              fclose($fd);
1073行          touch($parsedcal, $realcal_mtime);}
-------

色々試行錯誤した結果、力技といいますか
警告を受けていた「functions/ical_parser.php」の↑の波線部分の所をyesからnoに変えたらなんとか警告は出なくなりました
この変更によってどういう影響をもたらすのかさっぱりですが・・・('A`;)
0728nobodyさん05/03/03 18:19:00ID:???
>>722
しかし、外部テキストデータBを呼び出すには多少時間がかかるため

どんなでっかいテキストデータなんだ?
どれともローカル以外にあるとか?

いずれにしても、PHPでopenしたほうが手間無いと思われ。
0729nobodyさん05/03/03 18:48:52ID:???
現在のTV番組を配信してるrssはどこかないでしょうか?
0730nobodyさん05/03/03 18:52:01ID:sBw8KeR2
生まれて初めてphpというものを書いてみました。
いろんなphpの見よう見まねで作った、近々ある社会の用語テスト用のくだらないスクリプトなのですが、
うまくいかないのです・・・もしよければ相談に乗っていただけませんでしょうか?

スクリプトの内容は
<?
$question = array( "問1","問2","問3" );
$answer = array( "答1","答2","答3" );
print("[問]<br>$question<br><br>[答]<br>$answer");
?>
この4行ですorz
ためしに動かしてみたのですが、なぜか「問1」とか「答1」とか表示される所に「Array」と表示されました・・・
それでarrayを消してもう一度動かしてみたのですが、こんどはエラーで動いてくれませんでしたorz
構想としては「問1」とでるならば「答1」とでるように、つながってて(?)ほしいです・・
もしよければ悪い点を指摘して頂きたいです。phpの勉強もしてみたいので。。。
では宜しくお願い致しますorz
0731nobodyさん05/03/03 18:58:50ID:???
$question = array( "問1","問2","問3" );

この$question は "問1"、"問2"、"問3"、が入っている配列そのものを指していると思えばよい。
だから、配列を意味するArrayという文字が出てくる。決してarray()の"array"が表示されているわけではない。
問1(つまり配列の0番目)にアクセスするにはこの変数の後ろに[0]という添え字をつける。
$question[0]
問2であれば、
$question[1]
だ。
配列の先頭は1番目から数えるのではなく、0番目からスタートする。



0732nobodyさん05/03/03 18:59:26ID:7OeoLBpl
>>730
配列一つづつ表示させたいんですよね??
以下のようなやりかたで表示されるのでは?
for($i=0;$i<3;$i++){
print "[問]<BR>$question[$i]<BR><BR>[答]<BR>$answer[$i]
}
0733nobodyさん05/03/03 19:00:19ID:7OeoLBpl
質問です。
mb_send_mailでエラー返送先Return-Pathを指定しなかったら
fromで指定したところにエラー返送されますか??
0734nobodyさん05/03/03 19:02:27ID:sBw8KeR2
>>731
大変勉強になりますです 無事、表示できました。
ところで、ランダムに表示する事は可能でしょうか・・・?
また、その場合においてもquestionとanswerは結びついていて欲しいのですが・・・orz
0735nobodyさん05/03/03 19:03:42ID:W+vZoiDK
returnでfalseにせずに数字もしくは文字列の0を返したい場合、どすれば
よいですか?やっぱり、無理ですか。
0736nobodyさん05/03/03 19:04:40ID:7OeoLBpl
return 数字;
もしくは
return 文字列;
でできるのでは?
0737nobodyさん05/03/03 19:15:01ID:???
>>733
実際に試してみれば?

答えは「鯖の設定による」
0738nobodyさん05/03/03 19:19:44ID:???
もしランダムに選んで1回だけ表示でよいなら、

$i = rand(0, 2); // ← 0 〜 2 までの乱数を取得
print "[問]<BR>$question[$i]<BR><BR>[答]<BR>$answer[$i] ";
0739nobodyさん05/03/03 19:20:32ID:7OeoLBpl
>>737
SMTPの関係で今実際にメール送信ができないのです。
safe_modeを有効にした状態でmb_send_mailの第5引数に
Return-Pathを設定すると設定したアドレスにエラー返送できる。
ということまで分かっているのですが、
もし、このReturn-Pathを設定しなかったら。
”答えは「鯖の設定による」 ”ということは
safe_modeが有効だったらfromで指定したアドレスに返送される
ということでしょうか?
0740nobodyさん05/03/03 19:24:31ID:sBw8KeR2
>>738
ありがとうございます!!
できました!!
スレッドの皆さん、お世話になりました
これで勉強が少しやりやすくなりましたです 本当に有難うございました
0741nobodyさん05/03/03 19:52:32ID:???
日本語の勉強がんばってね
0742nobodyさん05/03/03 20:25:50ID:???
時代を感じるね phpで勉強とは。。。
0743nobodyさん05/03/03 20:29:59ID:???
オッサン乙
0744nobodyさん05/03/03 20:40:30ID:???
うるさい
0745nobodyさん05/03/04 09:58:10ID:???
>>739
Return-Path は、Recieved: ヘッダの情報を元に、最終的に
受け取った MTA が付けます。
0746nobodyさん05/03/04 14:53:02ID:isNQAP9U
外部のSMTPサーバを利用してメールの送信を行うにはどうすればいいですか?
0747nobodyさん05/03/04 15:12:57ID:???
>>746
どこまでやって、何につまってるのか書いてないので適当に答える。

・mail()関数を使う場合
 Linux -> sendmail等を直接叩くので不可
 Windows -> SMTPサーバ接続のみ利用可なので適切な設定でOK
・fsockopenでSMTPを直接喋る
 SMTPに則って、適切に実行する。ググればサンプルもあるはず。
 つーか、他の言語ではこの形式のものが多いから他言語のものであっても参考に汁
074874605/03/04 15:22:55ID:???
すいません、焦っていたもので環境を書き忘れてました。Linuxなんです。
でも、Linuxだと、mail()関数は使えないんですね。
参考になりました。ありがとうございます。
0749nobodyさん05/03/04 16:11:59ID:???
簡単なうぷろだを作ろうと実験してるんですが
フォームから$_FILES['upfile']['tmp_name'] で取得できる一時ファイルはどのタイミングで消えるんでしょうか。

$_SESSIONに一時ファイルのパス情報をいれて他のページに移動、
移動先のページで処理(アップロードファイルの確認とか)した後に$_SESSIONに保存しておいたパス情報を
使って move_uploaded_file() を発行しても、時間がある程度経過した後でもファイルを保存できますか?

それともアップロード直後に move_uploaded_file() で保存してやらないと一時ファイルは消えちゃいますか?

環境はLinux、Apache1.3系、PHP4.3.9 です。
0750nobodyさん05/03/04 16:18:30ID:???
>>746
「fsockopenでSMTPを直接喋る」ライブラリが豊富にあるので、それを利用する。
PHPMailerとか、Pearのクラスとか。
0751nobodyさん05/03/04 16:20:51ID:???
>>749
ttp://www.php.net/manual/ja/features.file-upload.php
移動または名前の変更が行われていない場合、リクエストの終了時にその
ファイルはテンポラリディレクトリから削除されます。
■ このスレッドは過去ログ倉庫に格納されています