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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2005/08/08(月) 01:18:55ID:54u1h4+D
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/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
0855nobodyさん2005/08/30(火) 02:21:32ID:???
学校の課題が出来ずに焦っている>>854がいるスレはここですか?
0856nobodyさん2005/08/30(火) 02:41:40ID:???
>>854
糞面白いなお前wwwwwwこんなのも書けないなんて障害あんじゃねーの?wwwwww
0857nobodyさん2005/08/30(火) 02:46:17ID:???
853のソース見たんだけど、PHPに(「charCodeAt」みたいな)文字を文字コードに変換する(?)関数か方法ってあるの?
08588572005/08/30(火) 02:47:46ID:???
ごめん。勘違いしてた。忘れてくれ。
0859nobodyさん2005/08/30(火) 12:51:39ID:zspoZiNa
ム板に誰かスレ立てたな?

【祝】コマンドラインから始めるPHP【プロ板進出】
http://pc8.2ch.net/test/read.cgi/tech/1124990165/l50


これならまあええが、
下のは何だ。厨は単発質問糞スレ立てるな。

phpでデリミタしたら配列内に改行
http://pc8.2ch.net/test/read.cgi/tech/1124583843/l50
phpについて教えてください!
http://pc8.2ch.net/test/read.cgi/tech/1125139051/l50

PHPでExcelのテンプレートに値を入れたい
http://pc8.2ch.net/test/read.cgi/tech/1125207985/l50


0860nobodyさん2005/08/30(火) 13:52:59ID:???
PHPファイルにbase64でエンコードしたGDフォント(*.gdf)を埋め込んでみたいと
考えているのですが、ヘッダはどのように指定すればよろしいのでしょうか?
0861nobodyさん2005/08/30(火) 15:45:20ID:???
>>842
>853紹介のスクリプト(ttp://la.ma.la/misc/js/roma.html)を移植したぞ。
$roma["hiragana"]は ttp://la.ma.la/misc/js/roma.js を参考に2次元連想配列で作ってくれ。
 $roma["hiragana"] = array("a" => "あ","i" => "い",.......); な風にして。
また今は関数外に出してるけど必要なら関数内に入れてくれ。

function roma2hiragana($text){
return roma2x($text,"hiragana");
}

roma2x()は次↓
08628612005/08/30(火) 15:46:09ID:???
function roma2x($text,$to){
$skip = 0; $len = strlen($text);
global $roma; // $romaを関数内に入れるなら不要
for($i=0;$i<$len;$i++){
if ($skip > 0) { $skip--;
} else {
$temp = substr($text,$i,1);
if (ereg("[a-zA-Z.,-]",$temp)) { //[a-zA-Z.,-]
$loop = 4; $f=0;
while($loop){
$temp = substr($text,$i,$loop);
if (isset($roma[$to][$temp])){
$kana = $roma[$to][$temp];
if($loop == 2){
if($kana == "っ"){$i--;} //「っ」の場合、一文字戻す
$skip = 1;
}else{ $skip = $loop-1; }
$f=1;
$newarray[] = $kana;
break;
}
$loop--;
}
if(!$f){$newarray[] = $temp;} // $f == 0
} else {
$newarray[] = $temp;
}
}
}
return implode($newarray); // stringで返す
}
0863軟式PHP2005/08/30(火) 17:16:10ID:???
>>862
いい奴だな。
0864nobodyさん2005/08/30(火) 21:18:35ID:???
定数に値を入れる時にヒアドキュメントを使いたいです。

define( "TMP", <<<END );
ヒアドキュメントヒアドキュメントヒアドキュメント
ヒアドキュメントヒアドキュメントヒアドキュメント
END;

こういう使い方って無しでしょうか?
ちなみに上記だと実行時にエラーになります。
0865nobodyさん2005/08/30(火) 21:30:21ID:???
>>864
define('TMP', <<<END
ヒアドキュメントヒアドキュメントヒアドキュメント
ヒアドキュメントヒアドキュメントヒアドキュメント
END);

echo TMP;
0866nobodyさん2005/08/30(火) 21:35:01ID:???
>>865
864じゃないけどエラーでるぞ。

>>864
これはダメ?

$var = <<<END
ヒアドキュメントヒアドキュメントヒアドキュメント
ヒアドキュメントヒアドキュメントヒアドキュメント
END;

define("TMP", $var);
08678642005/08/30(火) 21:47:10ID:???
>>866

今はその方法にしてます。

ただ、Perl使ってたときはできた書き方なので、
同じようにスマートにならないかなーと思った次第です。
08688662005/08/30(火) 22:05:48ID:???
>>867
これだと出来た。

define('TMP',
$var = <<<END
ヒアドキュメントヒアドキュメントヒアドキュメント
ヒアドキュメントヒアドキュメントヒアドキュメント
END
);

または、

define('TMP',
<<<END
ヒアドキュメントヒアドキュメントヒアドキュメント
ヒアドキュメントヒアドキュメントヒアドキュメント
END
);

でもPHPエディタだと両方とも色分けが変になるから微妙だったけど。
08698682005/08/30(火) 22:15:36ID:???
すまん。>865の方法も少し変えたら出来た。
ヒアドキュメントの終端マーク?(END)を単独で1行にすれば良さげ?

define('TMP',<<<END
ヒアドキュメントヒアドキュメントヒアドキュメント
ヒアドキュメントヒアドキュメントヒアドキュメント
END
);
0870nobodyさん2005/08/30(火) 22:21:58ID:???
変換後の変数=置き換え関数("aiueonn","あいうえおん",送信されてきたデータ)
0871nobodyさん2005/08/30(火) 22:26:38ID:???
$line=file($file);
$end=count($line)-1;
echo $line[$end]
最後の行をだす。
0872nobodyさん2005/08/30(火) 23:20:26ID:eL6jzClK
MySQLの段落ありのデータをechoで表示する場合、
段落が認識されず、表示されてしまいます。

良い解決方法はないでしょうか?
08738642005/08/30(火) 23:24:41ID:???
>>866

ありがとうございます。
その方法でいってみます。

(確かにPHPエディタで色変わらないのは気持ち悪いですね…)
0874nobodyさん2005/08/30(火) 23:25:22ID:???
>>872
nl2br
0875nobodyさん2005/08/30(火) 23:50:56ID:???
単純な質問でごめんなさい。
whileで“00”〜“20”までを繰り返すとやりたいのですが、

$hage = "00";
while ($hage != "20") {
$hage++;
}

$hageの変数を2桁に固定するにはどうすれば良いのでしょうか。
08768752005/08/31(水) 00:05:59ID:???
ほんと、単純でしたね…。解決しました。
$page = "00";
while ($page != "20") {
$page = sprintf("%02d", $page);
$page++;
}
0877nobodyさん2005/08/31(水) 00:08:42ID:???
>>876
あの、それなら最初から
$page = 0;
while ($page != 20) { ... }
の方が良いですよ。
0878nobodyさん2005/08/31(水) 00:15:28ID:???
$page = 0;
while ($page++ < 20) { ... }
0879nobodyさん2005/08/31(水) 00:19:29ID:???
>>878
それだと、1からになってしまう…
0880nobodyさん2005/08/31(水) 00:21:28ID:???
>>878
その場合は、$page= -1;
0881nobodyさん2005/08/31(水) 01:38:45ID:???
404のエラードキュメントをphpで作りたいと考えてます。
その時に、要求アドレスによって、表示を分岐させたいと考えてるのですが、
要求アドレスがどうしても取得できません。

これは無理なのでしょうか。
0882nobodyさん2005/08/31(水) 02:03:00ID:???
>>881
っ[セッション]
08838812005/08/31(水) 02:33:16ID:???
>>882
セッションを使った方法を考えてみましたが、分かりませんでした。
404を出すアドレスにアクセスした時点では、
何もアクションが起こせないので、セッションも登録できないと思うのですが、
具体的な方法を教えていただけないでしょうか。
0884nobodyさん2005/08/31(水) 02:58:42ID:???
>>881,883
要求アドレスって存在しなかったページって事ですよね?
$_SERVER[REDIRECT_URL] や $_SERVER[REQUEST_URI] で拾えました。

環境:linux/apache2.0.54/PHP5.0.4
08858842005/08/31(水) 03:01:26ID:???
勘違いしてたゴメン
0886nobodyさん2005/08/31(水) 03:23:57ID:???
>>878だと$pageが18で終わりになる?それとも19?20まではいかないよね?
「インクリメントした後の$pageが20未満」なのか
「インクリメントしたら20未満の$page」なのか
どっちの意味になるんだろ?
08878812005/08/31(水) 03:27:31ID:???
>>884
要求アドレスは存在しなかったページを意味してます。
ですが、無理みたいですね・・・。

phpでは無理なんでしょうか。
0888nobodyさん2005/08/31(水) 03:31:59ID:???
.htaccess使わなきゃ
0889nobodyさん2005/08/31(水) 03:33:40ID:???
>>886
基礎からやり直せ
08908862005/08/31(水) 03:36:04ID:???
「20未満の$pageについてインクリメント&ループ実行」ってことでいいのかな?
08918812005/08/31(水) 03:37:18ID:???
>>888
.htaccessをどのように使えばいいのでしょうか。
今も.htaccessはありますが、ErrorDocumentの記述があるだけです。
08928842005/08/31(水) 03:44:16ID:???
>>887
あれ?ダメですか?
存在しないページなら>884の通り、$_SERVER[REDIRECT_URL] や $_SERVER[REQUEST_URI] で拾えましたよ。

print "REDIRECT_URL=[".$_SERVER[REDIRECT_URL]."]<br>\n";
print "REQUEST_URI=[".$_SERVER[REQUEST_URI]."]<br>\n";

で存在しないページ(例:http://192.168.0.111/test/ttt.html)が「/test/ttt.html」として取得できました。
SERVER_ADDRやHTTP_HOSTでIPアドレスも取得できるからURLも取得できますし。
ためしに404のエラードキュメントPHPで print_r($_SERVER); してみては?

その前に404のエラードキュメントをPHPで使えるようになっているのでしょうか?
08938812005/08/31(水) 03:51:02ID:???
>>892
REDIRECT_URLは空文字で、
REQUEST_URIの方には404.htmlの方が入ってました。

マニュアルでREQUEST_URIの箇所を読む限りでは確かにこれで取得できそうですが…。

$_SERVERは、print_rで見ましたが、それらしき値はないです。
0894nobodyさん2005/08/31(水) 03:56:32ID:???
>>890
ttp://www.php.net/manual/ja/language.operators.increment.php
08958812005/08/31(水) 04:00:18ID:???
解決しました。

ErrorDocumentの書き方がまずかったようです。
絶対パスを指定したのですが、これを相対パスにすることで直りました。
絶対パスだと、ページ自体のリダイレクトが行われてるんですかね。

丁寧に答えてくださった方、ありがとうございました。
0896nobodyさん2005/08/31(水) 04:04:38ID:???
>>893
自前サーバ? レンタルサーバ?
要求アドレスの取得に関係なくPHPファイルがエラードキュメントとして使えるようにしてますよね?
0897nobodyさん2005/08/31(水) 07:34:23ID:???
>>886
$var++と++$varの違いは基本なので
0898nobodyさん2005/08/31(水) 09:11:56ID:eJmHKqbd
これでどうして 2005-08-31にならないのかな?

$dy=mktime(0,0,0,date("m"),0,date("Y"));
echo date("Y-m-d",$dy);
0899nobodyさん2005/08/31(水) 10:48:10ID:???
echo date("Y-m-d", time())
0900nobodyさん2005/08/31(水) 11:42:07ID:???
2005-08-00→2005-07-31と修正されるからでしょ。
echo date("Y-m-d")でいいじゃん。
0901nobodyさん2005/08/31(水) 12:30:49ID:???
>>861
ありがとうございます。
感謝感謝
0902nobodyさん2005/08/31(水) 14:01:37ID:???
携帯サイト作ってるんですが、USER AGENT偽装対策する方法ありますか?偽装してる場合はエラーを吐くような。
0903nobodyさん2005/08/31(水) 14:14:29ID:???
>>902
hostで判断するしかないんじゃないか?
docomo.ne.jp以外は弾く、みたいな。
0904nobodyさん2005/08/31(水) 14:20:31ID:???
携帯から失礼します。
今オークションを携帯で見れるようなものを作ってます。

まず題名のみを抽出して表示するところまではできました。
題名を押すとリンク先を表示するところで行き詰まってます。
一応できたのですが題名を押すとphp?no=1という所に行きまた詳細を抽出する方法です。
このno=1とうのを20個近く作らなければいけない無駄なやり方でした。

これをもっとスマートにしたいのですが良い方法が思い浮かびません。

何か良い方法があったら教えてほしいです。
説明へたですいません。
0905nobodyさん2005/08/31(水) 14:55:32ID:???
>>904
題名とno=○を配列に入れてforで回すのではダメなの?
0906nobodyさん2005/08/31(水) 14:59:23ID:???
>>903
おぉ、その手がありましたね。USER AGENTにばかり目がいってました。ありが�d。
0907nobodyさん2005/08/31(水) 15:05:27ID:???
デストラクタの使い方がよく分からないのですが、
class hoge {
var $test;
function __construct($a, $b) {
$this->test = array($a, $b);
}
function __destruct() {
unset($this->test);
}
}
こんな感じでいいのでしょうか。
0908nobodyさん2005/08/31(水) 15:13:20ID:???
>>907
俺も良く判らんけど、__destruct って、そのオブジェクトを解放するときに処理するんじゃないの。
メソッドもオブジェクトに含まれるので、unsetする必要はないかと。

class hoge {
var $test;
function __construct($a, $b) {
$this->test = array($a, $b);
}
function __destruct() {
print_r $this->test;
}
}
$ob = new hoge(1,2);
unset($ob);
0909nobodyさん2005/08/31(水) 15:18:41ID:???
そんな感じかねえ。

以前、DB接続クラスを作って、
デストラクタにDBをクローズするメソッドを呼び出すようにしたら、

まだクエリすら呼び出しても以内のに勝手に不要とみなされ、
勝手にDB切断されて困ったことがあった。
使い方がいまいち。オブジェクト解放のタイミングを調整できればいいのだが。
0910nobodyさん2005/08/31(水) 15:20:51ID:???
ついでにわしも質問です。

__autoload()関数が役に立ったことがあるという人、いますか?
もし、役にたったならば、どんなときに役に立ちましたか?

require呼び出しでは使えるものでしたか?

09119072005/08/31(水) 15:29:11ID:???
>>908>>909
あ〜なるほどね。
デストラクタってパフォーマンス向上のためにある関数なのかと思ってたんだけど、そうじゃないのか。

>>910
ん〜手間が省けて結構便利だと思うんだけどな。
0912nobodyさん2005/08/31(水) 17:08:30ID:/SaEXI7W

セーフモード&SAFE_MODE_GIDがoffのレン鯖で
phpスクリプトが書き出したphpファイルにブラウザからアクセス
する技はありまつか?


0913nobodyさん2005/08/31(水) 17:18:11ID:???
>>912
た、多分、ブラウザからそのURLたたけばいいんじゃないかな・・・
0914nobodyさん2005/08/31(水) 17:27:03ID:???
file関数で1000行×20列くらいの掲示板のログファイルを一気に読み込んでるんですが高い負荷がかかったりしますかね?一日2000〜3000アクセスくらいなんですが。
0915nobodyさん2005/08/31(水) 17:29:08ID:???
>>914
file関数よりもfgetsの方が処理は速いって聞いた。
0916nobodyさん2005/08/31(水) 17:36:34ID:???
夏休みは宿題を済ませてから遊べとあれほど……
0917nobodyさん2005/08/31(水) 20:08:29ID:???
1000行全て表示して誰が読むんだか・・
0918nobodyさん2005/08/31(水) 20:40:45ID:kcRQHeGx
すいません 898 です。
mktime(0,0,0,date("m"),0,date("Y")); # 8-31となって欲しいが7-31になる
「当月末日」の表現で使っていたんですが、これじゃ使えないね

 ttp://php.s3.to/man/function.mktime.html
「指定した月の最後の日は次の月の -1 番目の日ではなく、"0" 番目の日として表すことが可能です。」
0919nobodyさん2005/08/31(水) 20:47:45ID:???
つ「date("t")」
0920nobodyさん2005/08/31(水) 20:50:45ID:???
「次の月の-1番目の日」ではなく「次の月の0番目の日」って意味でしょ。
「2005年8月の0番目の日」が「2005年7月の最後の日」になる。
だからmktime(0,0,0,date("m"),0,date("Y"))は「先月末日」の表現にしかならない。
0921nobodyさん2005/08/31(水) 21:02:22ID:kcRQHeGx
>920 ありがと。
勘違いしてたヨ。下記例にもちゃんとあったな。
$lastday = mktime (0,0,0,3,0,2000);
echo strftime ("Last day in Feb 2000 is: %d", $lastday);
0922nobodyさん2005/08/31(水) 22:19:18ID:N4cNKOEk
初めまして 
質問させて下さい
PHPを使ってweb上でメール受信できますか?
http://php.s3.to/net/#popでできてるみたいなんですけど、
内容を変数に扱いたいと思っています。
なにをしたいかというとYahoo!オークションのアラートで送られてくる
メールの画像を一括してみようと思っています。
そういうサイトがあれば一番いいんですけど
だれか作ってくれませんか?
0923nobodyさん2005/08/31(水) 22:32:34ID:???
それは質問とは言わない。
他力本願というのだよ、それは。
無いなら、自分で調べて作ればいいじゃん。
0924nobodyさん2005/08/31(水) 23:18:18ID:???
>>922
金くれるなら
0925nobodyさん2005/09/01(木) 02:25:07ID:???
画像投稿の掲示板つくるんだけど、画像はfileでもってたほうがいい?
DBにいれてかんりしたほうかいい?
0926nobodyさん2005/09/01(木) 02:36:18ID:???
>>925
投稿時にファイル名を自動で付すなら
ファイル名だけデータベースで持っておいて
画像は特定のフォルダに放り込むのが簡単。

良し悪しは何で判断する?
0927nobodyさん2005/09/01(木) 08:14:05ID:eoQpZPGA
普遍性と効率性を聞きたかったんでしょ。
0928nobodyさん2005/09/01(木) 13:27:49ID:???
--template.php--
<?=$contents?>

--edit.php--
class Edit{
  function excute(){
    global $contents;
    $abc = 'abc';
  }
}
$contents=<<<EOL
ほえほえ{$abc}
EOL;

--index.php--
include( 'edit.php' );
$obj = new Edit();
$obj->excute();
include( 'template.php' );

以上のスクリプトで、「ほえほえabc」という出力を得たかったのですが、
実際は「ほえほえ」になってしまいます。

function excuteのなかが著しく怪しいとは思うのですが、
マニュアルhttp://www.php.net/manual/ja/language.variables.scope.phpを
見ても解決の手掛かりが掴めません。。。
何かヒントを頂ければ幸いです。。。
0929 ◆SyMIZYHImA 2005/09/01(木) 13:42:40ID:???
中身入りのディレクトリを問答無用で削除するにはどうしたらいいのでしょうか。

調べたら「実行演算子」とやらで
`rm -Rf $del_dir`;
こう書くように書いてあったのですが、消えません。

実行演算子がシェルに命令を送るだけのものだとすれば、
win鯖の実験用環境では無理ということなのでしょうか。
0930nobodyさん2005/09/01(木) 13:50:52ID:???
Winにrmコマンドはない。
0931nobodyさん2005/09/01(木) 13:53:01ID:???
>>928
スコープというものが分かってないな。
excuteの中$abcはそこで完結しており、そのままだと外には出られない。
0932 ◆SyMIZYHImA 2005/09/01(木) 14:04:38ID:???
>>930
えと、じゃあやっぱり両対応にするにはopendirとかreaddirを使って
ディレクトリ内のファイルやフォルダを全部調べつつ削除する
ルーチンを作るしかないのですね・・・
0933nobodyさん2005/09/01(木) 15:02:38ID:???
>>931
とりあえず、以下な感じで逃げました。
ああ、$contents<<<EOLを別の所におきたい。。。
別ファイルにしようかなぁ。。。

--template.php--
<?=$contents?>

--edit.php--
class Edit{
 function excute(){
  $abc = 'abc';
  $contents=<<<EOL
  ほえほえ{$abc}
  EOL;
  return $contents;
 }
}

--index.php--
include( 'edit.php' );
$obj = new Edit();
$contents = $obj->excute();
include( 'template.php' );
0934nobodyさん2005/09/01(木) 15:12:34ID:???
>>933
コンストラクタを用意して、$contentを喰わせるようにしたら?
0935nobodyさん2005/09/01(木) 15:59:31ID:???
inculdeについてなんですが例えば以下のようなディレクトリ構造の時
index.php
└■A
..├a.inc
..└■B
....└b.inc
index.phpを実行中にA/a.incをinculdeして、さらにB/b.incをinculdeするにはA/a.inc内の記述は
inculde("B/b.inc");
inculde("A/B/b.inc");
どちらが正しいんでしょう?
0936nobodyさん2005/09/01(木) 16:20:33ID:???
>>935
やってみればいいんじゃないでしょうか?
0937nobodyさん2005/09/01(木) 16:38:03ID:???
>>935
ワーキングディレクトリ(working directory)つー概念があって、
この場合 index.phpがあるディレクトリがそれに該当する。
includeやrequireで相対指定した場合はそこからの指定になる。
それぞれのファイル中で echo getcwd(); してみればどういう扱いをされるのか分かるよ。
0938nobodyさん2005/09/01(木) 16:50:30ID:???
--with-gdオプションで画像に対する処理が出来ますが
文字(フォント)を画像として出力するなんてのは無いですよね?
09392352005/09/01(木) 16:54:55ID:???
>>936
そうですよねー、なんかメンドクサかったので。
0940nobodyさん2005/09/01(木) 16:55:50ID:???
>>938
とりあえずgdのマニュアル嫁
09419382005/09/01(木) 17:07:13ID:???
>>938
http://ponk.jp/php_gd/index.php?page=1
こことか見るとのってるね
0942nobodyさん2005/09/01(木) 17:45:59ID:HGt94pY+
includeで便乗質問。

PHPでファイルを読み込む関数(include require require_once)で絶対パスを使うと
サーバから見たパスになりますよねー。

/usr/ID/public_html/file/

ってな風に。
でも、サイト作ってる時はドメインからみたパスにしたいんですよ。

/file/

ってな風に。
これってどうにか対処法はありますか?
0943nobodyさん2005/09/01(木) 17:55:33ID:???
PEARのNet_FTPを使ってリモートサーバでファイル操作をしようとしています。
「リモートにディレクトリがあればそれを削除して、無ければ削除しない」
ということをやりたいのですが、ディレクトリがあるかどうかをチェックする関数が
ありませんでした。

あってもなくても削除するように、
$ftp->rm( 'tmp_dir', TRUE );
としましたが、ディレクトリが無い場合にエラーが発生してしまいます。
(当然といえば当然ですが…)

何かスマートな方法はありますでしょうか?
よろしくお願いします。
0944nobodyさん2005/09/01(木) 18:26:58ID:???
>>942
実行時にライブラリのパス変更して、相対パスを使う。
さすがに /file/ は無理だけど、./file/ ならできるのでは。
09459432005/09/01(木) 19:25:27ID:???
すいません、自己解決しました。

$ftp->ls( 'tmp_dir' );
の結果が空であれば存在しないという判断で対応できました。
お騒がせしました・・・
0946nobodyさん2005/09/01(木) 19:52:13ID:???
セッションの使い方で質問です。
色々例題等試してみて、機能的なことはだいぶ解ったのですが、
フォームで複数の入力画面を行き来する可能性があるようなものの場合、
そこに出てくるセッションで保持したい変数(例:$_POST['hoge'])すべてを

例1
if(isset($_POST['hoge1'])){$_SESSION['hoge1'] = $_POST['hoge1'];}
if(isset($_POST['hoge2'])){$_SESSION['hoge2'] = $_POST['hoge2'];}
if(isset($_POST['hoge3'])){$_SESSION['hoge3'] = $_POST['hoge3'];}
続く・・・・
ってセッションに入れないといけないのでしょうか?
if(isset($_POST)){$_SESSION = $_POST;}
じゃ、なんだかうまく逝かなかったです。配列を配列に入れちゃうから無理なのかな?

あと、スクリプトのなかでhtmlに埋め込むときは、セッション変数をどういう風に扱えばよいでしょうか?
自分は{$_POST['nantoka']}って感じで使ってるので、上記「例1」のあとで

if(!isset($_POST['hoge1'])){$_POST['hoge1'] = $_SESSION['hoge1'];}
if(!isset($_POST['hoge2'])){$_POST['hoge2'] = $_SESSION['hoge2'];}
if(!isset($_POST['hoge3'])){$_POST['hoge3'] = $_SESSION['hoge3'];}
続く・・・・
とこれまた面倒なことをしてるんですが。

$_SESSION['hoge1']とか$_POST['hoge1']はそのまま使わずに$hoge1などのような変数に代入した方がいいのでしょうか?
常識的にどうするかって部分が記述されてるサイトを見つけられずちょっと悩んでます。
アドバイスおながいします。
0947nobodyさん2005/09/01(木) 19:55:01ID:???
>>946

$_SESSION = array_merge( $_SESSION, $_POST );
0948nobodyさん2005/09/01(木) 21:30:30ID:???
POSIX正規表現に関する詳細については、PHP配布ファイルのregexディレクトリに
あるregexのmanページを参照ください。 このページはmanpageフォーマットであり、
読むには man /usr/local/src/regex/regex.7のようにします。

http://jp.php.net/manual/ja/ref.regex.php

とありますが、どうやれば読めるのかわかりません。
regex.7の日本語訳などネット上にありませんか?
0949nobodyさん2005/09/01(木) 21:46:46ID:???
>>948
ttp://www.linux.or.jp/JM/html/LDP_man-pages/man7/regex.7.html
0950nobodyさん2005/09/01(木) 21:49:24ID:???
>>949
即レスどうもです。
0951nobodyさん2005/09/01(木) 22:39:25ID:???
>>943
$ftp->ls('tmp_dir');

0952nobodyさん2005/09/01(木) 22:40:12ID:???
既レスだたた
0953nobodyさん2005/09/01(木) 22:40:49ID:???
>>934
こんな感じでしょうか?
これだと、{$abc}は置き換えられず、「ほえほえ」だけになってしまうのです。
必ず、<<<EOLの前に$abcを定義しないと逝けないんですよね。
やりたいのは、templateを定義しておいて、excute()でデータを生成して、
templateに埋め込んで、出力する、これだけなんですけどねぇ。。。
やっぱり、別ファイルにしてincludeかなぁ。。。
テンプレートファイルを沢山作りたく無いんだよなぁ。。。

-- template.php --
<?=$contents?>

-- edit.php --
class Edit{
 var $template;
 function Edit(){
  $this->template = <<<EOL
ほえほえ{$abc}
EOL;
 }
 function excute(){
  $abc = 'abc';
  return $this->template;
 }
}
-- index.php --
include( 'edit.php' );
$obj = new Edit();
$contents = $obj->excute();
include( 'template.php' );
0954nobodyさん2005/09/01(木) 22:49:41ID:???
>>953
>>934じゃないけど、ちげーよ!思わずつっこんじゃうよ!

class Edit{

 function Edit(){
  return $this->execute();
 }

 function excute(){
  return $abc = 'abc';
 }
}

-- index.php --
include( 'edit.php' );
$contents = new Edit();
include( 'template.php' );
レス数が950を超えています。1000を超えると書き込みができなくなります。