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

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

■ このスレッドは過去ログ倉庫に格納されています
00019662005/07/12(火) 01:47:09ID:qOoYFCn7
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/

立ってなかったんで>>970に近かった自分が勝手に立てちゃいました。
0102nobodyさん2005/07/14(木) 18:33:18ID:???
UTF-8で日記スクリプト作ってる。
んで、フォームから打ち込んだ値をたらい回しにしてたら、いつの間にか「"」の前にエスケープがくっついてた。
なんでだ?
0103nobodyさん2005/07/14(木) 18:45:14ID:???
>>102
何かかわいそうだから
誰かエスパーな椰子たすけてやれよ
0104nobodyさん2005/07/14(木) 18:50:04ID:???
>>102
( ^ ^ )/~
0105nobodyさん2005/07/14(木) 20:02:11ID:???
>>88

自動的にダウンロード始まるページのソースを、
上からじっと読むと見つかります。
0106nobodyさん2005/07/14(木) 21:00:05ID:???
PHPのmb_send_mailで最大どのくらいまでのメールアドレスを
処理出来るのでしょうか?
例えば、BCCとして"abc@**.jp,[email protected]・・・"とメールアドレス
続けて送信するとします。
サーバの内容にもよるかと思いますが、ご存じな範囲で
結構ですので、教えていただければと思います。
0107nobodyさん2005/07/14(木) 22:38:43ID:???
>>102
magic quote
0108nobodyさん2005/07/14(木) 22:43:44ID:???
ASPのRequest.ServerVariables("LOGON_USER")を
PHPに移植する場合、どうすればいいか教えてください。

$objWsh = new COM("WScript.Network");
$objWsh->UserName;
$objWsh->UserDomain;
とWSHで取得しようとしてもサーバ側の情報になっちゃって上手く再現できなかった。

$objWmi = new COM("WinMgmts://{" . getenv("REMOTE_ADDR") . "}/root/cimv2");
WMIサービスで取得しようと思ったが、セキュリティ上無理だった。
0109nobodyさん2005/07/14(木) 22:51:00ID:???
>>108
$_SERVER['LOGON_USER']
0110nobodyさん2005/07/14(木) 23:00:30ID:???
>>108
IISからApacheにも移行してないか?
0111nobodyさん2005/07/14(木) 23:21:01ID:???
>>106
PHP-USERのメーリングリストのログにあるさがせ。
0112nobodyさん2005/07/14(木) 23:33:09ID:???
MySQLに日付の欄(型はdate)があるのですが、
select文で日付をwhere条件に含めるに当たって、
一桁の数値には頭に0をつけてからSQLを発行しないといけないのでしょうか?
日付がMySQLでは2005-07-14となっているレコードを
select * from tbl_hoge where date='2005-7-14'
でヒットするのでしょうか?
0113nobodyさん2005/07/14(木) 23:44:23ID:???
ヒアドキュメント内だと、defineで定義した定数は使えないの?
0114nobodyさん2005/07/15(金) 00:27:25ID:???
>>112
マヌアル嫁
http://dev.mysql.com/doc/mysql/ja/datetime.html
自分で試してみれ。
01151122005/07/15(金) 01:01:05ID:???
ありがとうございます。解決しました。>>114
0116nobodyさん2005/07/15(金) 01:05:27ID:PzceRiM6
ユーザー定義関数を作るとき、引数の初期値に定義済みの関数を利用して設定することはできないのでしょうか?
function hoge ($a = date("Y-m-d")) {
echo $a;
}
と試したところエラーが出ます。
expecting ")"というエラーなのですが、括弧が足らないのでしょうか?
0117nobodyさん2005/07/15(金) 01:17:33ID:???
>>116
function hoge ($a = NULL){
if($a==NULL) $a = date("Y-m-d");
echo $a;
}
とかで
01181162005/07/15(金) 01:22:25ID:???
どうやらできないようですね。
どうもありがとうございました。
0119nobodyさん2005/07/15(金) 01:39:38ID:???
ワロス
0120nobodyさん2005/07/15(金) 03:17:59ID:???
xml扱うのにexpatとDOMってどっちがお勧めですか?
0121nobodyさん2005/07/15(金) 06:54:27ID:???
すみません、header ("Location: admin.php") という感じで飛ばす処理を
しているのですが、以前使っていたレン鯖では問題なかったのに、
違う鯖にしたらLocationで飛べなくなってしまいました。

鯖(Apache?)の設定で、Locationが使えないことってあるのでしょうか??
0122nobodyさん2005/07/15(金) 07:00:05ID:???
>>113
定数と普通の文字列と区別できないだろ
0123nobodyさん2005/07/15(金) 07:00:30ID:???
>>121
とりあえず、絶対URIにしてみろ。話はそれからだ。
0124nobodyさん2005/07/15(金) 07:01:45ID:???
>>121
ある
01251212005/07/15(金) 07:14:29ID:???
補足ですが、Location先を相対パスにしたり絶対パスにしたり絶対URIにしたり
してみましたが、全部ダメでした。
echo "テスト";
header ("Location: admin.php");
exit;
で、「テスト」が出力された画面のままで止まり、その後のジャンプがありません。
つまり、Location先が見つからないのではなく、
あくまでもLocation命令そのものが実行されていない感じです。
01261212005/07/15(金) 07:15:49ID:???
>>124
すみません、どこの設定をいじればLocationを使えるようになりますでしょうか。
0127nobodyさん2005/07/15(金) 07:15:57ID:???
>>121
そんなことロケーションヘッダが来てるかどうか見ればわかるじゃん
つか相対URLはRFC的にアウトなんじゃないの? 相手が携帯だと特に
0128nobodyさん2005/07/15(金) 07:20:38ID:???
                   _ _     .'  , ..   ..   .'     ∧_∧
          ∧  _ - ― = ̄  ̄`:, .∴ '      ・,‘∴  , .   (    ) ←>>125
         , -'' ̄    __――=', ・,‘ r⌒>  _/ /
        /   -―  ̄ ̄   ̄"'" .   ’ | y'⌒  ⌒i
       /   ノ                 |  /  ノ |
      /  , イ )                 , ー'  /´ヾ_ノ
      /   _, \               / ,  ノ
      |  / \  `、            / / /
      j  /  ヽ  |           / / ,'
    / ノ   {  |          /  /|  |
   / /     | (_         !、_/ /   〉
  `、_〉      ー‐‐`            |_/
0129nobodyさん2005/07/15(金) 07:23:43ID:???
>>121
以前の鯖と今の鯖で、スクリプトのソースは全く同じなんでしょ?
それで使えなくなったってことは、Apache側の問題なんじゃないの?
漏れはサーバの知識無いから詳しくはわからないけど。
01301212005/07/15(金) 07:30:06ID:???
>>128
あ・・・、殴られて気が付きましたが、
headerの前にechoで出力しちゃマズイですよね・・・ガクガクブルブル。
echo消したら直りました。ああ、基本的ミスでした。

でも待てよ…、逆に言えば、なぜ前の鯖ではheaderの前にechoがあったのに
正常に動いてたんだろう?? いま再度、前の鯖で試してみましたが、
やはりechoありでも問題なく動きます。なぜ???
・・・・と思ってphpinfoやってみたら、output_bufferingがオンになってますた・・・

ご迷惑かけました逝ってきます欝だ氏のう
0131nobodyさん2005/07/15(金) 07:36:54ID:???
14.30 Location
The field value consists of a single absolute URI.

Location = "Location" ":" absoluteURI
0132nobodyさん2005/07/15(金) 07:44:29ID:???
鯖でテストするなよゴミ屑
01331212005/07/15(金) 07:50:13ID:???
>>132
すいません、一応専鯖なので誰にも迷惑はかからないかと・・・。
0134nobodyさん2005/07/15(金) 07:51:45ID:???
無駄。
0135nobodyさん2005/07/15(金) 07:57:12ID:???
>>120
XMLと操作次第。
まあDOMで嫁。

>>131
初心者はこれ知らないケース多いね。
テストに出るよー。
0136nobodyさん2005/07/15(金) 08:03:08ID:???
パースがCで完結するから小規模なXMLデータはDOMのほうが良いと聞く
0137nobodyさん2005/07/15(金) 08:05:10ID:???
厨房>>121がてっきり共用鯖を使っているものだと思い込んで
玄人ぶって偉そうに忠告をしたつもりの>>132が、
「専鯖」という強力な返り討ちワードを食らった挙句に
苦し紛れに「無駄」と言い捨て逃亡。

これを「諸行無常」と呼ぶ。
0138nobodyさん2005/07/15(金) 08:09:06ID:???
なるほど。共有鯖だと思われてるという認識だったのね
0139nobodyさん2005/07/15(金) 08:13:37ID:???
>>132みたいな恥ずかしいクズ野郎はこのスレに不要だなww
coqスレ辺りがお似合いだ。
0140nobodyさん2005/07/15(金) 08:14:35ID:???
いや、墓穴掘ってるぞ121
専鯖ってのが真実ならテスト鯖じゃないわけで
0141nobodyさん2005/07/15(金) 08:17:23ID:???
前の鯖がどうこうとか書いてたから、専鯖でもまだ実稼動してないんじゃねーの?
0142nobodyさん2005/07/15(金) 08:17:39ID:???
error_reporting = 0 or エラーログ見てないということは可能性高いと見たね
ローカルでデバッグするのに比べて無駄があるとかそんな話じゃないんじゃないのw>>134
0143nobodyさん2005/07/15(金) 08:22:39ID:???
>>137
別に逃亡してないんですけど。
手元でやってたら0.1秒で気づくミスだろハゲ男。
ていうかメル欄全角かよ。俺ハズカシス。
0144nobodyさん2005/07/15(金) 08:24:20ID:???
>>141
リダイレクトが効かないと気づいてよかったな
0145nobodyさん2005/07/15(金) 08:24:55ID:???
なんとかして自分の貧乏をごまかしたい>>137。
0146nobodyさん2005/07/15(金) 08:29:07ID:???
スルーされて何とか絡みたい>>127
0147nobodyさん2005/07/15(金) 11:21:44ID:???
PHPで、ディレクトリにある最新のtxtファイルを取得して
それを違う名前.txtにリネームして同じディレクトリに作成するって
可能でしょうか??
0148nobodyさん2005/07/15(金) 12:02:51ID:???
>>147 可能
0149nobodyさん2005/07/15(金) 12:12:18ID:???
>>148
ありがとうございます
どこか参考になるページとかないでしょうか?
ぐぐってはみたんですがわからなくて・・・
0150nobodyさん2005/07/15(金) 12:19:59ID:???
>ディレクトリにある最新のtxtファイルを取得して
>それを違う名前.txtにリネームして
>同じディレクトリに作成するって
一気にやろうとしないで、マニュアル見ながら上記を一行ずつ解決していけばいいよ。
0151nobodyさん2005/07/15(金) 12:20:37ID:???
>>149
やりたい事がいまいち分かんないけど
opendir、rename、stat辺りを使えばいけると思うよ
とりあえずマニュアルとにらめっこすることをお勧めします

http://www.php.net/manual/ja/function.opendir.php
http://www.php.net/manual/ja/function.rename.php
http://www.php.net/manual/ja/function.stat.php
0152nobodyさん2005/07/15(金) 13:04:05ID:???
わかりましたマニュアル見て落ち着いてやってみます
どうもありがとうございます
0153nobodyさん2005/07/15(金) 13:07:39ID:???
>>146
遅レスだがワラタw
0154nobodyさん2005/07/15(金) 13:38:55ID:???
超初心者です。
CSVを読み込んで、テーブルで出力しようと思ってます。

CSV内容
"1","十","aaa"
"2","あ","bbb"
"3","表","ccc"

で、読み込んでるとこのソースが
$fp = fopen("hoge.txt","r");
while($row = fgetcsv($fp,1024))
{
echo "<tr>\n";
foreach($row as $column)
{
echo "<td>".$column."</td>\n";
}
echo "</tr>\n";
}
fclose($fp);
です。

EUCならこのままで問題ないのですが、
出力結果をShift_JISで出力したいんです。
ですが、"表"とか"十"が入ってるデータがあると
そこがうまく取り込めないらしくテーブルが壊れます。
うまいこと取り込む方法ってありますか?
0155nobodyさん2005/07/15(金) 14:17:35ID:???
>>154
SJISで出力したいなら、出力前にEUC-JP→SJISの変換を掛ければ良いだけだが。
ファイルの入出力も、ブラウザへも全てSJISでやりたいなら、それぞれの
入出力に変換を掛けるか、内部コードにSJISが利用できるようにコンパイルされた
PHPを使って、スクリプトのコードも全部SJISに統一すれば簡単。
0156nobodyさん2005/07/15(金) 14:18:03ID:???
>>154
EUCで全部やって、出力のみをsjisにするとか。
0x5cが下位バイトに来る文字は決まってるから、それに注意してデータを作成するとか(\をつける)。
01571542005/07/15(金) 15:10:23ID:???
>>156
データは外部から抽出されたものをそのまま使いますし
データに\を付けていくのは大変なのでNGです。

>>155
既存のシステムがなかなか停止できないので、
PHPのコンパイルは避けたいです。
mb_convert_encoding関数を使えばできそうなので
やってみようと思います。ありがとうございました。
0158nobodyさん2005/07/15(金) 16:54:44ID:Fg/gKXLa
SPBのPHP5徹底攻略に載ってるソースについて質問したいのですが、
4行程度のソースなんですが、ここに書いたらまずいですかね?
0159nobodyさん2005/07/15(金) 17:00:33ID:???
どうぞ
01601582005/07/15(金) 17:09:27ID:???
VODAFONEの絵文字をimgにおきかえるスクリプトなんですが
絵文字が2個以上並んでいると最初の一個しか変換されません。
対処ほうありますでしょうか?

$str = "\x1b\$G\x21\x0fabc"; // 絵文字入り文字列
$regex = '/\x1b\$([E-G])([\x21-\x7a])+\x0f/e'; // 絵文字にマッチする正規表現
echo preg_replace($regex, 'sprintf("<img src=\"%02X%02X.gif\">",
ord("$1"),ord("$2"))', $str); // 絵文字をイメージタグに変換して出力
0161軟式PHP2005/07/15(金) 17:23:29ID:???
VODAFONEは同じ絵文字を並べると結合するよ。
$strWrk = 絵文字が入った文章;
do{
$tmp = $strWrk;
$strWrk = preg_replace("/(\x1b[\x24][\x45-\x47\x4F-\x51])([\x21-\x7A])([\x21-\x7A]+)([\xF])/im","$1$2$4$1$3$4",$strWrk);
}while( $strWrk != $tmp );
俺はとりあえずこんな感じにしてるけど。
0162nobodyさん2005/07/15(金) 18:51:21ID:???
download.php という対象ファイルをダウンロードさせるためのphpプログラム

$filename=basename($_GET['filepath']);
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$filename\"");
readfile($filepath);

このようなものを作ったのですが、
filepathにrawurldecodeをかければ日本語ファイル名でもダウンロードできるのですが、
ダウンロード時のファイル名が文字化けしてしまいます。

これを解消するにはどのようにすればいいのでしょうか?

これを機会にheader関数もよく勉強したいのでお願いします。
01631582005/07/15(金) 21:01:03ID:???
>>161
理解しようとしてるのですが、なかなかできません。。
$strWrkにvodafone絵文字が入った文章を入れて>>161を通すと絵文字の部分が何かに置き換えられてる
という使い方でよろしいのでしょうか?試してみたのですが echo $strWrk としたところ何も置き換えられないででてくるのですが
使い方間違っていますでしょうか?せっかく書いていただいたので試したいのでよろしくお願いします。
0164軟式PHP2005/07/15(金) 21:14:31ID:???
>>163
161のコードを通すと、連結した絵文字を分離するから、
それに対して、>>160のコードを通したらイけると思うけど。
あと
>>\x1b\$G\x21\x0fabc
は1個の絵文字だから意味ないよ。
0165nobodyさん2005/07/15(金) 21:39:08ID:???
取ってきたデータが、"1"とか"2"だったら、"01"とか"02"にしたい時は
どうしたらよい??
0166nobodyさん2005/07/15(金) 21:40:50ID:???
http://jp2.php.net/sprintf
0167nobodyさん2005/07/15(金) 21:45:48ID:???
stripslashes()したいんだけど値段表記などの\マーク(バックスラッシュ)だけは表示したいという時は
正規表現にかけるしかないのでしょうか?
0168nobodyさん2005/07/15(金) 21:49:44ID:???
同じnameのチェックボックスに、複数チェックを入れると、
PHPだと最後のチェックボックスの値しか取らないみたいなんだけど…

ASPなら自動でカンマ区切り、
Perlなら区切るモジュールで、
PHPは?
0169nobodyさん2005/07/15(金) 21:55:15ID:???
×
<input type="checkbox" name="test" value="test1">
<input type="checkbox" name="test" value="test2">
<input type="checkbox" name="test" value="test3">

○
<input type="checkbox" name="test[]" value="test1">
<input type="checkbox" name="test[]" value="test2">
<input type="checkbox" name="test[]" value="test3">
0170nobodyさん2005/07/15(金) 22:00:21ID:???
>>169
配列にするっつーことですかい?
0171nobodyさん2005/07/15(金) 22:04:07ID:???
>>170
ttp://www.stackasterisk.jp/tech/php/php02_06.jsp
このあたりを見てください
0172nobodyさん2005/07/16(土) 02:36:41ID:???
implodeってムチャクチャ便利じゃん、ぽまえら知ってた?
0173nobodyさん2005/07/16(土) 02:53:22ID:???
知らないのはお前だけです。
0174nobodyさん2005/07/16(土) 06:55:00ID:6rljT00v
swfを生成するmingを使いたいのですが
yumでインストールはできないですよね?

makeしてPHPもコンパイルして構築しないとだめですか?
0175nobodyさん2005/07/16(土) 09:45:29ID:???
>>167
stripslashesが必要な文字列なら\は\\になってるはずだから問題ない
01761582005/07/16(土) 11:16:40ID:???
>>161
すぐ結果報告できなくてすみません。
V603SHから絵文字を入力して試してみました。

$strWrk = $_POST['body']; //$_POST['body'] = (男の子のマーク)(女の子のマーク)
do{
$tmp = $strWrk;
$strWrk = preg_replace("/(\x1b[\x24][\x45-\x47\x4F-\x51])([\x21-\x7A])([\x21-\x7A]+)([\xF])/im","$1$2$4$1$3$4",$strWrk);
}while( $strWrk != $tmp );


$str = $strWrk;// 絵文字入り文字列
$regex = '/\x1b\$([E-G])([\x21-\x7a])+\x0f/e'; // 絵文字にマッチする正規表現
$str = preg_replace($regex, 'sprintf("<img src=\'%02X%02X.gif\'>",ord("$1"),ord("$2"))', $str); // 絵文字をイメージタグに変換して出力
echo $str;

結果↓
<img src='4721.gif'><img src='475C.gif'><img src='4722.gif'>
男の子と女の子の絵文字を入れると間に違うのが入ってしまうのですが、このほかには何個ならべても
おかしな点はありませんでした。完全ではありませんが私としては満足できるレベルになりました。
ありがとうございました。

どこ調べてもDOCOMOの絵文字についてはたくさん書いてあるのですが、VODAFONEの絵文字については
ネット上でどのように書かれてるかなどみつけられませんでした。絵文字について書いてる本がもう一冊あったので買ってみます。
0177nobodyさん2005/07/16(土) 11:19:08ID:???
細菌描画の表示が遅く感じる

<html>
<body>

<?php ほにゃらら ほにゃらら ?>

</body>
</html>

こんな感じでhtmlのなかにスクリプト書きまくってるからかな。
DBの接続とかしてるし。

ob_startとか使ったほうがいいのでしょうか。
0178nobodyさん2005/07/16(土) 12:29:36ID:???
APCを使えば倍以上早くなるっぽい
ttp://acapulco.dyndns.org/mod_uploader/#performance
0179nobodyさん2005/07/16(土) 16:26:26ID:6tLNOCU8
http://script.maikfan.com/
0180nobodyさん2005/07/16(土) 16:30:44ID:???
スマソ、誤爆った
0181nobodyさん2005/07/16(土) 18:18:31ID:mgfMVhVU
色んな場所で使うモノを、
関数かサブルーチンにしようとおもってるんだけど
どやってするの?

<本プログラム>
&GetDate;

<呼び出しプログラム>
sub GetDate{
$date = date('Y/m/d H:i:s', time());
}

とやってみたら、エラーが出たよ。
0182nobodyさん2005/07/16(土) 18:18:36ID:wfLNoi6t
ホームページのヒット率の上げ方教えてください。Yahoo登録以外で。
0183nobodyさん2005/07/16(土) 18:22:01ID:???
認証ページをsslにしてみたんだけど、セッションが切れてしまいます。
どうやったら切れませんか?
0184nobodyさん2005/07/16(土) 18:27:08ID:???
PHPとMySQLでデータベースを作っているのですが、入門書には、
SQL文を発行した際に、例えば
 $sql = "select * from tbl_hoge";
 $rst = mysql_query($sql);
 if(!$rst) print "だめぽ";
といったカンジでMySQLのエラーが出た際にエラーメッセージを表示させていました。
ところがPHPのマニュアルのmysql_queryの部分を見ると
$rst = mysql_query($sql) or die("だめぽ");
というような例文を挙げています。
これらは同じものなのでしょうか?

また、クエリーの結果falseが返ってくるケースとしては
クエリーが文法的に間違っているので撥ねられた場合のみ考えておけばいいのでしょうか?
例えばクエリーに問題がなくともサーバーが不調でMySQLがうまく機能していないとかにも
falseが返ってくることはありえるのでしょうか?
0185nobodyさん2005/07/16(土) 18:49:05ID:???
>>182
落語を見に行った後、SEOでぐぐれ。
0186nobodyさん2005/07/16(土) 18:50:52ID:???
>>181
つPerl
0187nobodyさん2005/07/16(土) 19:02:16ID:???
>>184
orはif文などに出てくるorと同じ
左がfalseなら右を実行するので、
mysql_queryがfalseならdieを実行する。
01881812005/07/16(土) 19:24:56ID:mgfMVhVU
>>187

Perlでしか出来ないってこと?
PHPでやりたいのです…。

Callしなくても、includeするだけで変数使えるとか!?
でも、呼び出しプログラムの方のエラーが出るの。
0189nobodyさん2005/07/16(土) 19:31:11ID:???
>>188
$date = _GetDate();
function _GetDate() { return date('Y/m/d H:i:s'); }

まず調べれ
0190nobodyさん2005/07/16(土) 19:39:24ID:???
>>188
お前が書いてるのはほぼPerlだってこと。
↓くらい読んでから質問しようね。
ttp://www.php.net/manual/ja/language.functions.php
01911812005/07/16(土) 20:11:53ID:???
<本プログラム>
$date = GetDate();

<呼び出しプログラム>
function GetDate(){
$date = date('Y/m/d H:i:s', time());
return $date;
}
としてみたけど、やっぱりえらーが出る。
Fatal error: Cannot redeclare getdate() in ......

呼び出しプログラムの2行目ってなってるけど
2行目は呼び出しの所。
何故〜
0192nobodyさん2005/07/16(土) 20:24:41ID:???
>>191
エラーメッセージを嫁。頭弱いのか?

ttp://jp.php.net/manual/ja/function.getdate.php を読んで
>>189氏が何故_を先頭に付けたか考えろ。
01931812005/07/16(土) 20:30:19ID:???
あ、そか。
getdateて組込関数が既にあるからか…
ごめんなさい、できました。

ついでに、すごく馬鹿な質問なのですが、
呼び出しプログラムの中で書いてある1個の関数の中に、
本プログラムで使いたい変数がたくさんある場合は
一つ一つreturnしないと、やっぱり無理?
0194nobodyさん2005/07/16(土) 20:35:41ID:???
お前はマニュアル読む気がないのか。
0195nobodyさん2005/07/16(土) 20:52:26ID:???
何を言っているのかワケワカラン
関数から複数の値を返したい、ってことを
言っているのか?
0196nobodyさん2005/07/16(土) 21:07:29ID:???
>>184
>or die("だめぽ");
このパターンの例文に関してなんだけど・・・

<html>から<body>と
</body></html>を、自分で作った関数で吐かせてる場合は
dieしちゃうと、そのエラーメッセージより後ろは表示してくれなくなるんで困ってます。この辺は皆さんはどんな風にしょりしてますか?

エラーメッセージの後ろに</body></html>をくっつけておくしかない?
01971842005/07/16(土) 21:16:59ID:???
>>187
なるほど。
エラー表示が1行で済みそうです。
どうもありがとうございました。

>>196
自分はエラー表示用関数を作ってます。
コンテンツを適当なヘッダとフッダではさむ通常の表示用関数に、
最後にexit()をつけたものをエラー表示用関数として使ってます。
01981812005/07/16(土) 21:17:45ID:???
やりたいことは、元々本プログラム内で書いていた、

$date = date('YmdHis', time());
$date_yyyy = mb_strcut($date, 0, 4);
$date_mm = mb_strcut($date, 4, 2);
$date_dd = mb_strcut($date, 6, 2);
$date_hh = mb_strcut($date, 8, 2);
$date_ii = mb_strcut($date, 10, 2);
$date_ss = mb_strcut($date, 12, 2);

を外部ファイルに記述し、色んな処理で手軽に$dateや$date_yyyyを使いたいのです。

ただのincludeしただけでも、
print $date;
print $date_yyyy;
のように使えるとは思うのですが、そうすると、外部ファイルの処理を全て動かすことになるので
よくないかな…と。

すみません、何言ってるかわからなくて…。
あと、マニュアルも一応読んでるんですが、よくわからなくて…。
ごめんなさい(´・ω・`)
0199nobodyさん2005/07/16(土) 21:56:37ID:???
>>198
外部ファイルの処理を全て。。。という部分が判るようで
判らないんだけど、その部分だけを外部ファイル、他の部分は
別の外部ファイルでいいのでは?

--- date.inc.php ---
<?php
$date = date('YmdHis', time());
$date_yyyy = mb_strcut($date, 0, 4);
$date_mm = mb_strcut($date, 4, 2);
$date_dd = mb_strcut($date, 6, 2);
$date_hh = mb_strcut($date, 8, 2);
$date_ii = mb_strcut($date, 10, 2);
$date_ss = mb_strcut($date, 12, 2);
?>

--- etc.inc.php ---
<?php
//その他の処理
?>

--- 本プログラム ---
<?php
require_once('date.inc.php');
require_once('etc.inc.php');

echo $date;
echo $date_yyyy;
?>

次レスに続けるね。
0200nobodyさん2005/07/16(土) 22:00:19ID:???
続きね。
元発言だと関数化したい、という話みたいだけど、関数や引数、戻り値が
あまり判っていないようなので、参考までに。
なるべく元のままで関数化しているので、あまりキレイなコードではないけど。

--- date.inc.php ---
<?php
function _GetDate() {
 return date('YmdHis', time());
}

function _GetDate_yyyy($date) {
 return mb_strcut($date, 0, 4);
}

以下、同様
?>

--- 本プログラム ---
<?php
require_once('date.inc.php');

$date = _GetDate();
$date_yyyy = _GetDate_yyyy($date);

echo $date;
echo $date_yyyy;
?>
02011962005/07/16(土) 22:36:12ID:???
>>197
なるほど。
いいのか悪いのか解らんけど、基本的にスクリプトは最初から最後まで<?phpと?>で囲んでしまって、getメソッドで飛ばしたモード判別変数でcaseで切り替え。
たいていはこんな作りなんで、どうしたものかと、思ってました。
エラーメッセージを引数にした関数を自分で作ってそこで実行すれば便利ですね。
■ このスレッドは過去ログ倉庫に格納されています