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

【PHP】下らねぇ質問はID出して書き込みやがれ 84

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/04/27(月) 21:39:11ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 83
http://pc11.2ch.net/test/read.cgi/php/1238958898/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0615nobodyさん2009/05/27(水) 02:41:42ID:???
マニュアル,入門書,良いオープンソースなどを見て学ぶ柔軟性が必要かと
0616nobodyさん2009/05/27(水) 03:39:43ID:vJelIhGL
趣味でやってると、変数の命名規則が気分次第になってしまう。

・ハンガリアン記法っぽいの
 $intUserId, $strBody

・アンダーバーで繋ぐ
$user_id, $regex_str

・どうでもいいカウンタ変数
$i, $j, $k

・その他
foreachをネストして多次元配列を展開する場合に使う最初の一時変数は
何かこうもっと良い命名がある気がするけど思いつかないからv_を接頭辞にした。

foreach ($array as $v_array) {
 foreach ($v_array as $key => $value) {
 }
}
0617nobodyさん2009/05/27(水) 04:08:53ID:???
一か月ぐらい前に書いたコード読み直してみると良いよ。
絶対悪態付きたくなるから、何が問題か分かる。
0618nobodyさん2009/05/27(水) 05:43:01ID:???
>>614
・手続き的にではなく、宣言的に書く
 「Aに処理Xを加えて変数Bに、それに処理Yをして変数Cに」という思考を捨てる
 「CはBにYをしたもの」「BはAにXをしたもの」という順序で、つまり定義を記述する感じでプログラムを書く
 一時変数を同名の関数に置き換えていく感じで、一時変数を削っていくのが分かりやすい手順


$B=X($A);
$C=Y($B);
は分かるが、「CはBにYをしたもの」「BはAにXをしたもの」ってどういう事?
0619nobodyさん2009/05/27(水) 08:55:18ID:???
書きたいように書けよ
型にハマったんじゃ新しいもの生み出せない ゾと
0620nobodyさん2009/05/27(水) 09:45:02ID:???
>616
foreach($years as $eachYear){
foreach($month as $eachMonth)
}
0621nobodyさん2009/05/27(水) 09:47:36ID:???
手が滑って途中で送信しちったが、まあ分かれ。
0622nobodyさん2009/05/27(水) 21:58:18ID:tZbxcqT7
教えてください。
A.csv
ID     名前
00001 あああああ  
00002 いいいいい  
00003 うううううう

B.csv
00004 えええええ
00005 おおおおお
00006 かかかかか

csvファイルAからBへ特定の行だけを移動したいと思ってます。
チェックボックスで選ばれたIDの行をAから削除しBへ書き込むプログラムはどうすりゃいいんでしょうか?
IDは重複する事はありません。
0623nobodyさん2009/05/27(水) 22:15:30ID:???
phase1.A.csvを読み込んで行単位にIDに紐付けたチェックボックスをつけつつ表示
phase2.postされたチェックボックスのID値を見てA.csvを読み込み該当の行を特定、B.csvを追記モードでopenして追記。A.csvから該当行を削除。

こんなもんか
0624nobodyさん2009/05/27(水) 22:17:41ID:???
>>621
thx
確かにeachが良さげ。お陰ですっきりした。
0625nobodyさん2009/05/28(木) 02:36:09ID:PcD3hYBe
【OS名】linux
【サーバー】Apache (Unix) PHP/5.2.8 mod_ssl/2.8.28 OpenSSL/0.9.7j
【PHPのバージョン】php5.2.8
【連携ソフトウェア】mysql
【質問内容】

通常のサイトから、SSLのサイトへ向けてPOST送信でデータを渡す際、
hidden だと値が渡らないという現象に見舞われてるのですが、
どうすれば解決するでしょうか。

サンプルソースです

(改行が多すぎるってエラーが出たので、次に続きます)
06266252009/05/28(木) 02:37:02ID:PcD3hYBe
(625の続き)
サンプルソースです

「送信元」(test.html)
<html>
<body>
<form action='https://xxxxxxxx.net/test.php' method='post'>
<input type='text' name='test' value='12345'>
<input type='hidden' name='kakushi' value'abcd'>
<input type='submit' name='submit' value='送信'>
</form>
</body>
</html>

「送信先」(test.php)
<?php

print_r ( $_REQUEST ) . "<br />";
print_r ( $_POST );

?>

「結果」
Array ( [test] => 12345 [kakushi] => )
Array ( [test] => 12345 [kakushi] => )

「期待すること」
Array ( [test] => 12345 [kakushi] => abcd )
Array ( [test] => 12345 [kakushi] => abcd )

よろしくお願いします m(__)m
06276252009/05/28(木) 02:53:41ID:PcD3hYBe
すいません、追加です。
先ほど、「通常のサイトから、SSLのサイトへ向けて」って書きましたけど、
同じSSLのサイト内でも同様にhiddenの値が渡りませんでした。

これはひょっとしたらスレ違いなのでしょうか。
0628nobodyさん2009/05/28(木) 03:03:25ID:???
value'abcd'>

value='abcd'>
0629nobodyさん2009/05/28(木) 03:13:26ID:???
心の底から脱力できる要因だなwww
06306252009/05/28(木) 04:34:02ID:PcD3hYBe
(´・ω・`)/

世の中、解決できない問題はないんだな

>>628 dクス
0631nobodyさん2009/05/28(木) 08:39:32ID:???
世の中解決できない問題は多々あるがお前のはうっかりさん過ぎる
0632nobodyさん2009/05/28(木) 14:50:53ID:rnletbDk
Web系プログラミングの雑誌で、みなさんが定期購読している雑誌ってなんですか?
お勧めがあったら情報共有しましょう。
ちなみに私は日経ソフトウェアとDB Magazineくらいです。
0633nobodyさん2009/05/28(木) 14:53:59ID:???
それらのどの辺がお勧めですか?
0634nobodyさん2009/05/28(木) 14:58:50ID:???
DB Magazineとか高いし毎号買うほどのものでも・・
0635nobodyさん2009/05/28(木) 18:37:52ID:a/iG0y0p
www.hoge.jp/hoge.phpでドキュメントルートの外の画像を表示したい時、
どうしたらいいですか?
zendFWでアプリケーション領域に蓄積されてる画像を、zendFWとは別に単独で
動いてるphpの中で動かしたいんですが…
0636nobodyさん2009/05/28(木) 19:22:36ID:???
絶対パスで指定すればいいのでは?
0637nobodyさん2009/05/28(木) 19:30:16ID:???
>>635
ZFにある画像データをstreamするphpを用意すれば良いだけなんじゃないの?
0638nobodyさん2009/05/28(木) 19:31:06ID:???
>>635
hogeだのhageだのは……。
example.com
が例文用にが予約されてる。
0639nobodyさん2009/05/28(木) 20:06:58ID:cUediPPl
switch ($textbox1){
case "";
print("BOX1が未入力<br>");
break;
case(strlen($textbox1) < $minlen);
print("規定の文字数以下<br>");
break;
case(ereg("^/", $textbox1)==true);
print("先頭に/を含んではいけません<br>");
break;
}
switch ($textbox2){
print("BOX1が未入力<br>");
break;
〜以下同じような事がずらずら
}

//ここまでにbreakがあったらここで処理を停止したい
XXX

//ここ以降に別の処理とかSQLに書き込み等
YYY

XXXの所までにbreakに掛からなければexit等を使い、進ませないように書くにはどんな
書き方がありますか?
if (breakがあったら){
exit;
}
のような事はできないんでしょうか?
0640nobodyさん2009/05/28(木) 20:18:24ID:???
フラグを立てる
0641nobodyさん2009/05/28(木) 20:20:17ID:???
XXXで止めたいcaseのところでフラグでも立てて判定すれば良いんじゃねーの
0642nobodyさん2009/05/28(木) 20:30:56ID:a/iG0y0p
>>637
おおー
それが正解っぽいですね! どうもありがとう
他の方もありがとう
0643nobodyさん2009/05/28(木) 20:41:12ID:pePXJ68I
買うほどのものでもなくね?
本とwebで十分。
0644nobodyさん2009/05/28(木) 21:25:31ID:cUediPPl
>>640-641
ありがとうございました。「フラグを立てる」の意味が解らなかったのでぐぐったけど
意外と少なかった気がしますが試行錯誤の末、解決できました。まず
$flag = 0;を宣言、caseのケツに$flag = 1;を書いておいてXXXの部分に
if($break){
exit();}
を書いたらうまく行きました。この場合の「フラグを立てる」というのは
こうした事をさすのでしょうか?
重ね重ねくだ質ですがお願いします。
0645nobodyさん2009/05/28(木) 21:26:46ID:cUediPPl
>>644
訂正・・if($break){ではなくてif($flag){ でした。
0646nobodyさん2009/05/28(木) 21:27:07ID:???
$breakなんて変数初めて出てきてるんじゃ?
0647nobodyさん2009/05/28(木) 21:27:54ID:???
yes
0648nobodyさん2009/05/28(木) 21:31:52ID:???
>639
>555
0649馬鹿ですみません><!2009/05/28(木) 22:35:16ID:ib08ur5F
$request_keys = array_keys($_REQUEST);
if ( in_array('_GET', $request_keys) ||
in_array('_POST', $request_keys) ||
in_array('_COOKIE', $request_keys) ||
in_array('_FILES', $request_keys) ||
in_array('_SERVER', $request_keys) ||

よく見るソースコードで書いてあるんだけど
これって誰得なんですかぁ?

0650nobodyさん2009/05/28(木) 22:37:20ID:???
その次からの処理に答えが書いてあるんじゃないかな
0651馬鹿ですみません><!2009/05/28(木) 22:39:15ID:ib08ur5F
次の処理はdie('Disallowed request variable found. Exited.');
です。
0652nobodyさん2009/05/28(木) 22:39:38ID:???
>>649
なんだその馬鹿丸出しのソースは…
そんなの見るな馬鹿が移る
公式に乗ってるようなソースで勉強しろ
0653nobodyさん2009/05/28(木) 22:42:52ID:???
>>651
思わずワロタw
0654nobodyさん2009/05/28(木) 22:43:33ID:???
Disallowedって…
0655馬鹿ですみません><!2009/05/28(木) 22:43:52ID:ib08ur5F
グローバル変数の添え字が'_POST'だと駄目ってことなのぉ?

0656馬鹿ですみません><!2009/05/28(木) 22:49:01ID:ib08ur5F
みんなぁググッテル・・・

俺分からないぁ〜馬鹿だから・・・

PHPer
0657nobodyさん2009/05/28(木) 22:49:07ID:???
とりあえずこれでも読んでおけ
ttp://php.benscom.com/manual/ja/language.variables.superglobals.php
0658nobodyさん2009/05/28(木) 22:53:56ID:???
array_keyとかあまり使わない関数だから何やってるんだろうと真面目に読んでみたけど
何がしたいのかわけわからんw
0659nobodyさん2009/05/28(木) 22:55:34ID:???
>>655を書かなければ単なる馬鹿扱いだったんだがな・・・
0660馬鹿ですみません><!2009/05/28(木) 22:55:42ID:ib08ur5F
//
// Disallow requests that contain some _XYZ global variables
//
$request_keys = array_keys($_REQUEST);
if ( in_array('_GET', $request_keys) ||
in_array('_POST', $request_keys) || in_array('_COOKIE', $request_keys) ||
in_array('_FILES', $request_keys) || in_array('_SERVER', $request_keys) ||
in_array('_ENV', $request_keys) || in_array('_REQUEST', $request_keys) )
die('Disallowed request variable found. Exited.');

//
// Unset global variables
//
if ( ini_get('register_globals') ) {

foreach ( $_REQUEST as $var_name => $null )
unset($$var_name);

unset($null);

}
0661馬鹿ですみません><!2009/05/28(木) 22:58:19ID:ib08ur5F
グローバル変数に許されないリクエスト_XYZが含まれているって何?w

誰得なの? まじで。。。
0662nobodyさん2009/05/28(木) 22:58:31ID:???
ああ、何となく意図するものがわかってきた……
けどそれって、んな大層に書くようなことかなあ。

窓硝子は防犯上危険だといって、でかい南京錠をかけてるようだ。
まず先に窓硝子を止めればいいのに。
0663nobodyさん2009/05/28(木) 23:00:20ID:???
はい次の人
0664nobodyさん2009/05/28(木) 23:19:07ID:???
register_globals がもし、ONだったら、
$_REQUEST 経由で入ってきた変数を
サニタイズする、ってところかな。
0665馬鹿ですみません><!2009/05/28(木) 23:29:14ID:ib08ur5F
if ( ini_get('register_globals') ) {

foreach ( $_REQUEST as $var_name => $null )
unset($$var_name);

unset($null);

}

ここは馬鹿でもわかったwwwwwwwwwww
0666nobodyさん2009/05/28(木) 23:38:45ID:???
>>623
流れ的にはそのような処理かと思います
色々やってみたのですがなかなかうまくいきません
どなたか例文でもいただけないでしょうか?
0667nobodyさん2009/05/28(木) 23:39:41ID:???
むしろその色々が何故駄目なのか、考えることに価値があるんだよ。
0668nobodyさん2009/05/28(木) 23:41:59ID:???
まず色々やってみたソースを貼るかうpれ
話はそれからだ
0669nobodyさん2009/05/28(木) 23:49:41ID:???
>>666
>>623を実装することすらできないなら根本的に向いて無いんじゃね?
0670nobodyさん2009/05/28(木) 23:54:08ID:???
>666
phase1.A.csvを読み込んで
(普通に表示)
行単位にIDに紐付けたチェックボックスをつけつつ表示
phase2.postされたチェックボックスのID値を見て
A.csvを読み込み
該当の行を特定
B.csvを追記モードでopenして
追記。
A.csvから該当行を削除。

どこが分からないんだ?
0671nobodyさん2009/05/29(金) 00:27:40ID:???
どーせ課題か何かの丸投げなんだろうな
0672nobodyさん2009/05/29(金) 14:30:15ID:???
>>666
<?php $f=fopen("A.csv","r+") or die("x.");$fb = fopen("B.csv","a") or (fclose($f) and die("x."));echo '<form action="?" method="post">';
$al = array(join(",",fgetcsv($f)));while (($d = fgetcsv($f))){if( $_POST["sb"] == "ex" && in_array($d[0],$_POST["c"])){fputcsv($fb,$d);}else{echo '<input type="checkbox" name="c[]" value="'.$d[0].'">'.$d[1].'<br>';$al[] = join(',',$d);}
}echo '<input type="submit" name="sb" value="ex"></form>';rewind($f);fputs($f,join("\n",$al));ftruncate($f,strlen(join("\n",$al)));fclose($f);fclose($fb); ?>
これで我慢しとけ。
0673nobodyさん2009/05/29(金) 22:49:20ID:sUbabdXe
仕事でPHPを使う場合、仕様書はどんな形式のを渡されるんですか?
UMLとかを使うことが多いんでしょうか?
0674nobodyさん2009/05/29(金) 22:56:15ID:???
仕様書って何それ?おいしいの?
0675nobodyさん2009/05/29(金) 22:56:29ID:???
「なんかこう、グァーって感じでお願い」
とかかな…
0676nobodyさん2009/05/29(金) 22:59:20ID:???
「あー、ホラきみ、アレ知ってるよね。そうそうアレアレ。あんな感じで一つ頼むよ。
 簡単でしょ?」
とかもあるな。
0677nobodyさん2009/05/30(土) 08:08:45ID:???
>>673
渡されるのは要件の箇条書きとかイメージシートで、なぜか仕様書は作ったやつが書くことが多い世にも不思議な物語。
0678nobodyさん2009/05/30(土) 08:28:54ID:???
すべては俺の頭の中にある
0679nobodyさん2009/05/30(土) 09:16:41ID:???
>>677が現実だな。
どちらかというと仕様を忘れないための仕様書になる。
家建てた後に設計書を作るイメージだなwwww
0680nobodyさん2009/06/01(月) 09:21:13ID:Q4RGmDnB
転送されたメールを本文と添付に分けて保存したいんですが
転送されてきたメールはどこに格納されるんでしょうか?
サーバーがqmailだったので.qmailでphpに飛ばす事は出来るようになったんですが
飛ばされた時にどこに格納されているのかわからないので、どうやって取り出して分割すればよいのかがわかりません。
そういったことをやってるサンプルとかあれば教えてもらえないでしょうか。
0681nobodyさん2009/06/01(月) 09:53:45ID:???
>>680
どこに格納とかじゃなくて、qmailからphpに飛ばせてると言うことは、
標準入力(stdin)から受け取れば良い。

file_get_contents("php://stdin");で受け取り
Mail_mimeDecodeとかで本文・添付を分ければ良いと思う。
06826812009/06/01(月) 09:58:26ID:Q4RGmDnB
>>681
サンクス。
php://stdin ってのを知らなかった。
ちょっとやってみます。
0683nobodyさん2009/06/01(月) 10:45:30ID:J3ZG9zzj
サーバーサイドでCookieが有効か確認する方法はないですか?
$_COOKIE['cookie'] = true;
if($_COOKIE['cookie'] !== true) {
   die("Cookieは無効です。");
}

これでCookieが無効かどうか判別しようとしたのですが、CookieをOFFにしてもtrueになります
0684nobodyさん2009/06/01(月) 10:58:47ID:4hjBfWfC
質問です。

PHP5、Windows XP Proにて、コマンドラインアプリを作ってます。

動的にフォルダ名を指定して、エクスプローラー(またはその他のファイラー)で開こうとしています。
コンソール画面上・プログラム上ではなく、エクスプローラーに、特定フォルダを開かせるにはどうすればよいでしょうか?
0685nobodyさん2009/06/01(月) 11:02:33ID:???
まず先にsetcookie()などで値を送信して、次に呼ばれたphp内で
if(isset($_COOKIE['hoge']))
みたいに確認する
0686nobodyさん2009/06/01(月) 11:17:45ID:???
>>684
phpからエクスプローラをどう呼んでるのか知らんが

explorer.exe <フォルダのpath>

じゃダメなん?
0687nobodyさん2009/06/01(月) 12:14:45ID:???
>>686
system('explorer C:\');

これでいけました!

systemとかコマンドラインオプション渡せばいいことはわかっていたのですが、
どうも自分の使っていたファイラーだとコマンドラインオプションが違うようで、
つまらないところではまってしまってました・・・。

ありがとうございました。
0688nobodyさん2009/06/01(月) 12:39:59ID:Sqhg3GlC
$moji = "あいうえお>>21かきくけこ>>12さしすせそ>>112たちつ>>1てと";
みたいな文字列があったとき、>>数字のペアだけを抜き出して配列に格納できるような関数はありますでしょうか?
explodeみたいなやつで、かつ正規表現でマッチできるような感じです。
preg_matchである程度対応できたのですが、
$mojiは可変で、>>数字があったりなかったり、これよりも増えたりして、
さらに>>数字を抜き出す数もこちらで指定したときにpreg_matchでは難しかったので、
とりあえず>>数字ペアだけでも全て抜きだせればいいなぁと思いました。
抜き出す方法、または便利な関数があれば教えてくださいよろしくお願いします。
0689nobodyさん2009/06/01(月) 12:40:54ID:J3ZG9zzj
>>688
preg_matchで余裕
お前の書き方が悪いだけ
0690nobodyさん2009/06/01(月) 13:01:18ID:Sqhg3GlC
自己解決しました
preg_match_allで思い通りの挙動になりました。
0691nobodyさん2009/06/01(月) 13:43:18ID:FEmWlQvb
<?php

$moji = "あいうえお>>21かきくけこ>>12さしすせそ>>112たちつ>>1てと";
$pattern = "/[^0-9>]/";
$result = preg_replace($pattern, "", $moji);
$result = explode('>>', $result);
print_r($result);
初心者だけどこれぐらいしか思いつかねえwww
0692nobodyさん2009/06/01(月) 13:48:56ID:???
自動アフィブログでも作る気か
0693nobodyさん2009/06/01(月) 19:49:55ID:???
質問です。
ある配列変数が、メモリ上で使用しているバイト数を調べるにはどうすればいいでしょうか?
0694nobodyさん2009/06/01(月) 19:54:46ID:???
ダンプすりゃ出て来るんじゃね?
0695nobodyさん2009/06/02(火) 07:12:19ID:???
2chでスレを立てるとスレのURLにはユニークなタイムスタンプが付いてるけど
これって複数の人が同時にスレを作成した場合どういう処理をしてるのでしょうか?
早勝ちでずらしてるのかな?
その場合、極端な話1000人の人が同時にスレを立てたら1000回待ちが入ることになりますよね。
0696nobodyさん2009/06/02(火) 07:23:52ID:???
先に立てた者が勝ち、つまりファイルロック
0697nobodyさん2009/06/02(火) 07:24:01ID:???
やってみれば?
0698nobodyさん2009/06/02(火) 09:21:15ID:w20GGpoy
【OS名】CentOS5.3
【PHPのバージョン】php5.26
【質問内容】 OS上でpingやdigを叩いて結果を表示できますが、PHPからコマンドを叩いて
結果を受け取るにはどの関数を使用すればいいですか?
0699nobodyさん2009/06/02(火) 09:35:45ID:???
exec,systemなど
0700nobodyさん2009/06/02(火) 13:42:11ID:???
複数プロセスから同時にdatが作られるからスレタイが適当に混ざるよ
0701nobodyさん2009/06/02(火) 14:10:47ID:???
おまえは何をいってるんだ。
0702nobodyさん2009/06/02(火) 19:00:26ID:gh4uNvVX
centOS5.3でphp5.26使っています
mysql5を対象に、SELECT文をテストしてます。
これで、帰って来た行数を取得する処理は以下のようなやり方で良いんでしょうか?

//クエリ(pear のadodb利用)
$sql = "SELECT * FROM `".$table."` WHERE `uId`=".$uId." and `uType`= ".$uType." and `ken`='Tokyo'";
$sqlResult = $DB -> Execute($sql);
//戻って来た数を数える
$selectNum = 0;
while(!$sqlResult->EOF){
$selectNum ++;
$sqlResult -> MoveNext();
}
echo "対応するデータが".$selectNum."件ありました";

DELETEやUPDATEなら mysql_affected_rows()がありますが、SELECTは
こんな感じです。もっとスマートなやり方あったら教えてください。
0703nobodyさん2009/06/02(火) 19:07:11ID:???
>>702
COUNT(*)
0704nobodyさん2009/06/02(火) 21:00:45ID:csgf+sFw
<?php
session_start();
$mad = $_SESSION['meado'];
$message = '';
require('ransu.php');
echo $message;//乱数確認の為にとりあえず表示、ここでは正常に表示される
echo "$mad<br>";
$to = "$mad";
mail ("$mad", "test", "$message","From:***@***.***");
session_unset();
?>

ransu.phpで乱数を発生させた結果を$messageに代入してメール(非日本語)を送信するには
どうすれば良いでしょうか?乱数発生させるスクリプト(ransu.php)はこちらの
サイト様よりお借りしたものをそのまま使ってます。
ttp://phpress.enjoy-life-style.com/archives/72
このソースで実行するとメール送信は出来るものの、本文が空っぽになってしまいます。

バージョンはphpinfoではphp5.2.9でしたがOSは表示されなかったので不明ですが
Linuxのようです。よろしくお願いします。
0705nobodyさん2009/06/02(火) 21:13:15ID:???
変数をわざわざ"$mad"みたいに囲う必要ないと思うが
0706nobodyさん2009/06/02(火) 22:59:52ID:???
>>704
$messageの末尾にLF
0707nobodyさん2009/06/03(水) 04:45:48ID:LqzRRvqm
いま、ZendFrameWorkと普通の/www/html/以下のドキュメントルート下で動く
スクラッチのアプリケーションを併用して動かしてます。(centOS)
そこで、
自前のアプリケーションにアップローダを作って、ファイルの最終的な保存場所を
zendのアプリ領域にしたい場合どういう処理したら良いんですか?
パスの設定の仕方がわかりません。
/www/html/uploader.php のアップローダから
/www/Zend/hozonImg/ フォルダに入れたいということです。

よくある /www/html/dummyImg/ に保存する場合は以下で良いはずですが、
copy($tmpFile, '/dummyImg/fixName.jpg');
documentRootの上のディレクトリに保存するのがわかりません。どうしたら??
すみませんがアドバイスお願いします。
0708nobodyさん2009/06/03(水) 05:55:25ID:???
絶対パスで書けばいいのでは?
相対パス「..」でもいいけど
0709nobodyさん2009/06/03(水) 10:12:45ID:???
>>708
ありがとうございました
普通に、/www/html/uploader.phpから../で /www/htmlにアクセスできました。
ですが、絶対パスで指定とはどうするんでしょうか?
試しに
/../を指定してみましたが上手く行かないです。
0710nobodyさん2009/06/03(水) 10:33:01ID:???
/www/Zend/hozonImg/
0711nobodyさん2009/06/03(水) 11:08:48ID:LqzRRvqm
>>710
ありがとうございます
説明がヘタな部分があったのかもしれませんが、ドキュメントルートは
/www/html/ のhtmlの部分です。
/www/html/index.html が http://www.hoge.com/index.htmlに当たります
これだと/www/Zend/hozonImg/の指定は無理ですよね?

Zendのディレクトリは /www/Zend/の位置にあります。
現状では、 www.hoge.com/uploader.phpから copy($file,"../Zend");で
/www/Zend/に保存することが出来たんですが(相対パス指定)
絶対パス指定を copy($file, "/../Zend");という形で試してみても上手く行かないんです。

エラーは以下です
[Tue Jun 02 18:01:16 2009] [error] [client 192.168.0.3] PHP Warning: copy(/../Zend/image.jpg)
[<a href='function.copy'>function. copy</a>]: failed to open stream: No such file or directory in---
0712nobodyさん2009/06/03(水) 11:11:55ID:I103Ja+X
そもそもお前の言う絶対パスってなんなんだ?
0713nobodyさん2009/06/03(水) 11:13:28ID:???
そりゃ絶対パスが /www/Zend/ なら /www/Zend/ で指定しなきゃダメだろ。
なんで /../Zend/ なんて愉快な指定になるんだ?
0714nobodyさん2009/06/03(水) 11:20:25ID:???
>>711
copy($file, "/www/Zend/hozonImg/");
でやってみなって
■ このスレッドは過去ログ倉庫に格納されています