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

【PHP】下らねぇ質問はここに書き込みやがれ 46

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2007/05/12(土) 16:43:57ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0818nobodyさん2007/05/22(火) 19:29:07ID:???
使ったことが無いので何とも言えませんが、仕様上はこんなのを知っています。

# .swf -> fugo.cgi
Action application/x-shockwave-flash /hoge/fugo.php

↑のような.htaccessを置くと、配下の.swf(正確にはMIMEタイプがswf)のファイルへの
リクエストが全てfugo.phpへ転送されます。そしてfugo.phpに環境変数PATH_INFOとして、
たとえば/fugo/hoge.swfが渡されます。

ttp://mikeneko.creator.club.ne.jp/~lab/web/htaccess/mime.html
0819nobodyさん2007/05/22(火) 19:54:48ID:y22J0WYH
クラスにおいてstaticとインスタンスは正反対みたいですが、
静的メソッド内においてインスタンス変数は使えないのですか?
使い方が間違ってるとかおかしいとか言われるかもしれませんが、
技術的にどう書けば使えるのかなーと思って聞いてみました。
クラスは最近始めたので、実はよくわかってませんので、
意味不明なこと言ってるかもしれませんがお許しをorz
ソースはこんなかんじです。

class Test {
  private $hoge;
  public static function hoge($hoge) {
    $hoge = $this->hoge;
    return $this->hoge;
  }
}

echo Test::hoge("aho"); //Fetal Error

$obj = new Test();
echo $obj->hoge("aho"); //こちらも同じFatal error
0820nobodyさん2007/05/22(火) 20:00:41ID:???
>>819
そのコードを書いて何の意味がある?
0821nobodyさん2007/05/22(火) 20:10:39ID:???
>>819
> クラスにおいてstaticとインスタンスは正反対みたいですが
この時点で理解不足
結城浩のJavaの本でも買って一字一句嫁
0822nobodyさん2007/05/22(火) 20:18:40ID:???
>>819
突っ込みどころが満載だが静的アクセスするにはself::を使う。
self::$hoge
メンバ変数も静的じゃないといかんが。
0823nobodyさん2007/05/22(火) 20:32:15ID:???
>public static function hoge($hoge) {
>$hoge = $this->hoge;

これはなんですか?

0824nobodyさん2007/05/22(火) 20:49:17ID:F6/h/Ppd
ある文字「い」があったとして、その文字を16進数に変換して、
また元の文字に戻したいのですが思ったとおりの結果にならず悩んでおります。
どなたかご指摘お願いいたします。


$a = bin2hex("い");
$b = ord($a);
echo sprintf("%c", $b);
0825nobodyさん2007/05/22(火) 21:15:14ID:???
>>824
pack('H*', $a);
0826nobodyさん2007/05/22(火) 21:34:44ID:F6/h/Ppd
ありがとうございます。
packの使い方について勉強不足でした。
おかげさまで解決できました。
ありがとうございました。
0827nobodyさん2007/05/23(水) 00:02:35ID:???
どーでもいいんだけどPHPをある程度やってたおかげでCが容易に感じてきた
もうCでCGI作ろうかと思う。やってらんねphp
0828nobodyさん2007/05/23(水) 00:19:40ID:???
ほんとにどーでもいいなw
0829nobodyさん2007/05/23(水) 00:34:58ID:???
ていうかPHPがはやってるからって厨が多すぎるんだよね〜^^;
0830nobodyさん2007/05/23(水) 00:35:01ID:???
>>827
CならCGIよりApacheModuleのほうが面白そうだけどな。
自鯖か専鯖じゃないと使えんが。
0831nobodyさん2007/05/23(水) 00:38:19ID:gBlhHgMK
error番号から、文字列(E_ERRORとか)に変換したいのですが
どうすればいいですか?
0832nobodyさん2007/05/23(水) 00:39:30ID:???
>>827
俺とC#やろうぜ!
CはIDE使うよりviでゴリゴリ開発→gccでコンパイル
この一連の流れが痺れるびびびびびびびびびび
0833nobodyさん2007/05/23(水) 00:51:00ID:???
>>831
そういう配列を自分で定義して下さい。
0834nobodyさん2007/05/23(水) 01:40:54ID:???
>>833
ありがとうございました
0835nobodyさん2007/05/23(水) 01:58:10ID:NI0qIs2d
現在サイトを閲覧中のユーザの数を知りたいときは
セッションのファイルを数えるといいと以前ここで読んだのですが
レンタルサーバでファイルの保存場所にアクセスできない場合はどうすればいいでしょうか?
0836nobodyさん2007/05/23(水) 01:59:05ID:gBlhHgMK
set_error_handlerでハンドリングしてdbにロギングするようにしたのですが
fatal errorが記録されません
fatal errorはどうすればハンドリング出来ますか?
0837nobodyさん2007/05/23(水) 01:59:12ID:4AGNtahW
レンタルサーバーだと出来るのですが
自宅のサーバーだとPHPでフォルダ作成ができません。
何が原因でしょうか?
08388162007/05/23(水) 01:59:54ID:???
>>817
XPはクライアント側でした。

>>818
いろいろ調べてみたところ.htaccesssで制限やリクエストを制御するのがよさそうですね。

レスありがとうでした。
0839nobodyさん2007/05/23(水) 02:01:33ID:???
その質問はおれがしたんだけど>>737を読んで意味がわからないのなら
共有サーバでセッション使ったスクリプトなんてやめたほうがいい
0840nobodyさん2007/05/23(水) 02:03:26ID:???
>>837

ソースの記述間違えか、フォルダを作成する場所が読み取り専用になっているかどっちか
0841nobodyさん2007/05/23(水) 02:52:32ID:???
PHPをやっていてCが身近に感じられるようになったというより、
PHPのアホさ加減で結局ソースを読む羽目になる事の方が大きいと思うぞ。
0842nobodyさん2007/05/23(水) 03:09:44ID:4AGNtahW
>>840
レスありがとうございます
自宅のサーバーはLINUXで、パーミッションは755です。
php.iniのsafe_modeとかの関係でしょうか?
0843nobodyさん2007/05/23(水) 03:58:27ID:???
>>842
パーミッションを777にしてみれば。
755だとディレクトリのオーナーと実行ユーザが違ったらダメでしょ。
0844nobodyさん2007/05/23(水) 04:06:01ID:???
解決してるかもしれないが
確かセーフモードの設定で書き込み可否を制御できたはず
08458192007/05/23(水) 06:28:20ID:???
昨日寝てしまってレス遅れてすみません。

>>821
理解不足でしたか・・・
お金ないのでWebで頑張りますorz

>>822
ありがとうございます。
両方とも静的じゃないとだめなのですね。
教えていただいたとおりやったところ表示されました。

>>823
反対でしたね・・・すみません。

class Test {
  private static $hoge;
  public static function hoge($hoge) {
    self::$hoge = $hoge;
    return self::$hoge;
  }
}
echo Test::hoge("aho");
0846nobodyさん2007/05/23(水) 10:16:23ID:???
>>842
707でおk
0847nobodyさん2007/05/23(水) 10:20:24ID:Jt45AIDD
微妙にPHPと関係ないかもしれないんですけど、質問させてください。

データベースに入ってる項目の並びかえってどうしてますか?
ユーザーが任意の順番に並び変えられるように作りたいのですが、
私が見かけたシステムでは、sort_orderというFLOATのカラムを持たせて
アプリ側では、各項目に↑↓の矢印があって一回変えるたびにその行の
sort_orderをDB登録してあげたり下げたりしていました。

新しい場所の上と下のsort_orderの間に入れるので2で割って、sort_orderが1000.5みたいに
FLOATにしてるみたいでした。

で、作りたいものは、ドラッグアンドドロップで並び替えられるようにしたいんです。
aculo.usを使って画面側はなんとなくできてるんですけど、今の仕様だと
並び替えたもののsort_orderが上から順番に通し番号が振られる感じなんです。
つまり並び替えた対象のほとんどの行のsort_orderを更新することになります。

これをこのまま、DBに登録するとなると、UPDATE対象が上記の方法より格段に増えるじゃないですか?
といっても、一番多い並び替えは5〜10件くらいのUPDATEで済みそうで、最高でも100件はないと思うんですよ。

並び替えの回数自体はユーザーしだいなのでなんともいませんが
、1ユーザー毎日2・3回、予想ユーザーは1000人くらいでしょうか。
sort_orderにはINDEXもはっていないし、サーバーも専用で結構パワーがあって、メモリも4G積んでるので
問題ないかなって気もするですけど、この設計ってまずいでしょうか?

他に思いつくのは、受け取った並び順をPHP側で、更新前のsort_orderと見比べて前者のFLOATを使っていた
時と同じような、パターンのsort_orderに変換して、更新のあったものを登録するとか・・・めんどい><

javascript側でその様な機能を実装するとか・・・あんまりjsは得意じゃないんですよね。

何か意見ありましたらお願いします。
わかりづらい長文をだらだら書いてごめんなさい。
0848nobodyさん2007/05/23(水) 10:31:51ID:???
読むのめんどくさいから3行でかいてね
0849nobodyさん2007/05/23(水) 10:31:58ID:???
>>847
>>798が暇になるまで待ちましょう
0850nobodyさん2007/05/23(水) 10:34:43ID:???
>aculo.usを使って画面側はなんとなくできてるんですけど、

>javascript側でその様な機能を実装するとか・・・あんまりjsは得意じゃないんですよね。

おととい来なさい。自分で使っているものがなにかをわからないで、設計も糞もないだろ。
0851nobodyさん2007/05/23(水) 10:40:00ID:???
質問文の中にいくつも質問を混ざるような書き方はやめましょう。
1質問でひとつ答えを頂いて1つ解決できるような書き方を心がけるべきです。
多くの読み手に自分の質問を読んでもらいための知恵を使ってください。
わたしはスルーします。
0852nobodyさん2007/05/23(水) 10:52:43ID:???
>>847
D&Dってことは、そんなにたくさん表示されてないんだろ? そこの範囲を全部書き換えろ。
もしくは、sort_orderを10刻みにして、隙間がなくなったところでsort_orderをふり直せ。
0853nobodyさん2007/05/23(水) 11:29:38ID:???
これは近年稀に見る悪質問
0854nobodyさん2007/05/23(水) 12:24:12ID:???
「ふっふふ、三河屋、おぬしもワルよのぅ」
あれー、くるくるくるぅう

みたいな?
0855nobodyさん2007/05/23(水) 12:35:12ID:???
そうだねバームクーヘンだね
0856nobodyさん2007/05/23(水) 13:16:49ID:VINgQQ+W
俺も昔から気になってた件だ>dbのorder問題
floatのやり方すら知らなかったから
いちいち全行updateしてたよ
こういうsqlのtipsみたいのがまとめられてる本ある?
0857nobodyさん2007/05/23(水) 13:18:10ID:???
>>847
2分岐の考え方の逆でやれ
08588472007/05/23(水) 13:22:20ID:Jt45AIDD
>>852
javascriptで最小限のものだけsort_orderを書き換えるように作ってみました。
で、Ajaxで毎回リクエスト投げて、保存しようかとも思ったんですけど
負荷的にも、ユーザビリティ的にも、確実性を考えても、並び替えは
クライアント側で完全に決まってから
submitで>>852さんの言うとおり変えた範囲を全部更新にしようかと思います。

sort_orderをFLOATにして、前後と比べて、割って、とかしても2・3個並び変えると結局全部更新になっちゃうんですよね。

稼動してみて、負荷を見て考えればいいのかもしれません。
みなさんレスありがとうございました。
0859nobodyさん2007/05/23(水) 13:56:36ID:AZyDs042
すいません、質問させてください。

test1.php test2.php test3.php と3つファイルがあって
test1.php で test2.php と test3.php をincludeします。

test2.phpは処理が早いのですがtest3.phpが処理がとても大きくて遅くなってしまいます。

test1.phpに先に出た処理test2.phpを先に表示することはできますか?
0860nobodyさん2007/05/23(水) 13:58:19ID:???
できるわけありません
0861nobodyさん2007/05/23(水) 14:12:05ID:???
ブラウザにもよるが
str_pad、flush使えばできる
0862nobodyさん2007/05/23(水) 14:28:10ID:???
Ajaxを使用していいなら出来ると思う
test2実行 > 表示 bodyタグでonload > Ajaxで通信しtest3実行 >
> データ送受信 > HTMLを書き換える

でどうだろう??
0863nobodyさん2007/05/23(水) 16:15:18ID:AZyDs042
>>861 >>862
返事遅れてスイマセン
>>862の方法でやってみようと思ってます。
ありがとうございました。
0864nobodyさん2007/05/23(水) 17:27:43ID:G3BjkUek
$_SSESSIONを共有サーバーでつかうとどういう風に危険なのですか?
具体的に教えてください
0865nobodyさん2007/05/23(水) 18:23:26ID:???
/tmpにセッションファイルが保存されるから他のユーザも参照できる危険性がある。
0866nobodyさん2007/05/23(水) 19:16:01ID:g5YZ+s6c
PHPを実行させると、スクリプトに書いた処理は行われず、

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY></BODY></HTML>

と出力していないDOCTYPE宣言などなどがブラウザに送信されて
きます。なぜでしょう? phpinfo()は見れるのですが・・・。

環境は

WindowsXP SP2
PHP5.2.1
Apache2.0.59

です。httpd.confの設定がおかしいのでしょうか?
0867nobodyさん2007/05/23(水) 20:59:31ID:???
そのスクリプトを晒せよ
0868nobodyさん2007/05/23(水) 21:47:36ID:???
むしろ晒すな
0869nobodyさん2007/05/23(水) 21:47:40ID:p2WOZVTN
すみません。近くのプログラム事務所でバイトを募集しています。

僕は、大学生ですが、PHPを最近真剣にやっていて、3ヶ月くらいたち
SmartyとPEARの入門的な部分までやりました。SmartyやPearをつかわなかったら
色々作れる自信はあるんですが。

今の状態でPHPのバイトは勤まりますか?
0870nobodyさん2007/05/23(水) 21:55:56ID:???
>>869
ここは人生相談所じゃないよ。
そんなことはバイト先の社員に聞け。
0871nobodyさん2007/05/23(水) 22:30:41ID:???
真剣にやってるやってないとか自信がある無いはどうでもいい
実力があるかどうかだ
0872nobodyさん2007/05/23(水) 22:54:55ID:???
とりあえず、自分の力がどれ位なのかも客観的判断が下せない人間は精々底辺プログラマ止まりだな
0873nobodyさん2007/05/23(水) 23:46:32ID:???
初歩的な質問かも知れませんが、
javascript以外でカレンダーを作りたいのですが
作ったカレンダーをダイヤログのように親画面から開き
選択した日付を親画面に返すと言った事はできますか?

又、参考になるHPを御存知でしたら教えて頂けませんか?

以上、宜しくお願いします。
0874nobodyさん2007/05/23(水) 23:54:56ID:???
>>873
>>1
08758732007/05/24(木) 00:08:33ID:D8XE6M0O
すいません。
ID忘れました。
さらに言えば、スレタイに「PHP」って書いてあるのも見逃していました。

特にPHPって言うわけではないのですが、
技術的にできるのか疑問に思ったので・・・
できれば宜しくお願い致します。
0876nobodyさん2007/05/24(木) 00:11:41ID:???
>>875
どういうスレの探し方してるのか興味あるんだが
0877nobodyさん2007/05/24(木) 00:27:10ID:???
>>875
リロードかかっていいならできる。

PHP Calendarとかでぐぐれ。
0878nobodyさん2007/05/24(木) 00:42:29ID:???
それおもいっきりjavascript使うだろが
08798732007/05/24(木) 00:42:33ID:D8XE6M0O
>>877
どうもありがとうございます。
さっそくググってみたいと思います。

>>876
「下らねぇ質問」って言うのが目に入ったので。
0880nobodyさん2007/05/24(木) 01:00:48ID:???
>>879
下らない内容だとは思わないけどなカレンダー。
0881nobodyさん2007/05/24(木) 01:02:39ID:???
Flash使えよFlash
確かOpenLaszloも新しいバージョン出たよな?
まぁ、PHPは関係ないけどこれからはオープン
なFlashで構築ってな案件どんどん増えそう。
で、DB接続部分とか細かいとこはJavaとか
PHPで。
0882nobodyさん2007/05/24(木) 01:05:22ID:???
Flashとか未だにプラグインいれてないの俺だけか?
0883nobodyさん2007/05/24(木) 01:18:04ID:???
フォトアルバムのスクリプトを利用してるんですが、
@fileで呼び出したtxtファイルから画像のサイズが取得できません。
中身はexplodeで区切ってあります ($filename,$comment)
list($width,$height) = @getimagesize($filename); こんな感じでごく普通に記述してるんですけど…
どうしてうまくいかないのかさっぱりわからないのでどなたか御教授お願いします
鯖のバージョンは5.2.0でした。
0884nobodyさん2007/05/24(木) 01:19:24ID:???
>>883
>>1
08858832007/05/24(木) 01:31:24ID:+SGQ/Lly
すみません忘れてました
0886nobodyさん2007/05/24(木) 01:33:42ID:???
file_gets_contentってもちゃくちゃ便利だなーこれ
0887nobodyさん2007/05/24(木) 01:36:37ID:???
>>883
「うまくいかない」「さっぱりわからない」ときは @ をはずしたほうがいいよ。
0888nobodyさん2007/05/24(木) 01:38:51ID:???
>>885
@file('foo')
@getimagesize($bar);
のようにエラー出力を抑制してワカリマセンっていうのをまずなんとかすべきじゃないの。
fileでホントに呼び出せてるのか、$filenameが正しいパスにあるかどうか自体を確かめてないと
しか思えないような質問だ。
if(file_exists($filename)) {
var_dump(getimagesize($filename));
} else {
exit('no exist');
}

ぐらい確かめてから、質問しにきてください。
0889nobodyさん2007/05/24(木) 03:00:55ID:pCKisbgl
練習に簡単な掲示板を作っています。

<html lang="ja">
<head>
<meta http-equiv="Content-type" content="text/html; charset=EUC-JP">
<title>test</title></head>
<body>
文字を入れて送信を押す<b>
<form method="post" action="gc.php">
<input type="text" name="data" size="30">
<input type="submit" value="送信">
</form>
<?php
$data = $_POST['data'];
// echo "<hr> $data";

$file = fopen("log.txt","a+");
fputs($file,$data);
fclose($file);

$filepointer = fopen('log.txt',r);
while(!feof($filepointer)){
$fileline = fgets($filepointer);
echo " <hr> $fileline";
}
?>
</body>
</html>

こうすると、リロードするたびに書いた文字が追加されてしまうんですが、どうしたらよいでしょう?
たぶん、一度別ページに飛ばせば楽なんだろうけど、1ファイルで済ませたいので。
0890nobodyさん2007/05/24(木) 03:21:46ID:???
初心者が1ファイルですませるのはセキュリティが甘いからやめたまえ。
0891nobodyさん2007/05/24(木) 03:24:18ID:???
>>889
1ファイルでもパラメータ変えて自分のページにもう1度飛ばせばいいじゃん。
0892nobodyさん2007/05/24(木) 03:37:00ID:???
二重投稿チェックしなはれ
08938832007/05/24(木) 04:01:06ID:+SGQ/Lly
>>887>>888ありがとうございます。
パスが間違ってただけでした・・・お騒がせしてすみませんでした
0894nobodyさん2007/05/24(木) 04:36:24ID:???
ああーXSSでちゃうううう
0895nobodyさん2007/05/24(木) 05:49:05ID:???
質問は3日ぐらい熟成させてから投稿しろ
0896nobodyさん2007/05/24(木) 09:35:00ID:???
>>882
オレモ
個人はどーでもいいとして、Flash無いと読めない企業の
クソトップだけは何とか改善を願いたい。
PC関連は特にな。PC-Depotの知能が知れる。
ttp://www.pcdepot.co.jp/
0897nobodyさん2007/05/24(木) 09:40:55ID:FJNwm9Bz
例外処理について勉強しているのですが、
早い話、Fetal ErrorやWarning等のメッセージが出る所を、
他のエラーメッセージに変えたり、
エラーが出た箇所でログをとったりする機能のことをさすんですよね?

PHPでいい解説サイトが見つからなかったので、(説明がわかりにくかったので)
Javaのわかりやすそうなサイトで勉強しているのですが、
ttp://www.javaroad.jp/java_exception1.htm

この例題2の任意の例外処理を行った例を、PHPで再現したいのですがうまくいきません。

try {
  $x = 10 / 0;
} catch (Exception $e) {
  echo "0で除算はできません。";
}

マニュアルを見る限りだと、
PHPの場合はもっと細かい設定みたいなことをしないといけないのでしょうか?
0898nobodyさん2007/05/24(木) 09:57:37ID:???
マニュアルのエラー処理およびログ記録関数のページ読んでわからなかった聞けクズ
0899nobodyさん2007/05/24(木) 10:06:32ID:FJNwm9Bz
>>898
ぱっと見ましたが例外処理とは関係ありませんよね?
0900nobodyさん2007/05/24(木) 10:14:55ID:???
>>899
分かっているじゃないか
そのjavaの例の例外処理と、Fetal ErrorやWarningが
出るところは関係ない
0901nobodyさん2007/05/24(木) 10:29:23ID:FJNwm9Bz
>>900
なるほど・・・
Javaと混同してたのが原因ですね。
もうすこし考えなおしてみます。
0902nobodyさん2007/05/24(木) 10:37:43ID:???
もうなんかメチャクチャだなw
0903nobodyさん2007/05/24(木) 11:22:07ID:???
返り値と戻り値って別?
returnが返り値で、戻り値は・・・・
0904nobodyさん2007/05/24(木) 11:44:30ID:???
>>903
Java用語辞書ではあるが
http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000157.html
0905nobodyさん2007/05/24(木) 12:36:09ID:???
PHP6っていつ出るんだ?
もうそろそろだよな?
0906nobodyさん2007/05/24(木) 13:52:32ID:???
>>905
おう、もうちょっと。
あと3行ぐらいかいたらリリースするわ。
0907nobodyさん2007/05/24(木) 14:41:50ID:???
>>897
PHPを基準に考えてはいけない。
例外処理構文は通常処理と例外処理を分離して、
例外が発生した場合、tryブロックのそれ以降をすっ飛ばして
例外処理を一括して行ったり、例外の種類によって処理を変えたりするもの。

本来本格的なオブジェクト指向言語だと全てのエラーはExceptionクラスから派生してる。
ところがPHPはなんちゃってオブジェクト指向なのでほとんどただのエラーが返ってくる。
PDOクラスなんかでは例外を投げるように出来るんだけども。
だから例外処理構文としてはそれで間違ってはいない。
ただcatch(Exception)なんかでまとめて受け取るときは
echo $e->getMessage();
とした方がいいかな。

でまぁ結局、PHPのゼロ除算では例外を投げずにただのエラーを吐くだけなので使えないんだけど。
0908nobodyさん2007/05/24(木) 15:10:53ID:Ultn4Y5Q
ファイル扱いに関する質問です
よろしくお願いします

アップされるファイルの元々のファイル名がhoge.jpgだったとします
これをそのままの名前で保存した場合、すでに保存してあるファイル名と被る可能性があるわけで、
絶対に被らないような名前にする(私の場合は、登録するレコードのIDをファイル名につけています)が、
ダウンロードする場合、当然ですが、変更された味気ないファイル名、1.jpgになります
元々のファイル名でダウンロードさせるいい方法はありますか?

ちなみにテーブルはこうなっています
Tbl_file
【id】 【ファイル名(リネームされたやつ)】 【元々のファイル名】
1 1.jpg hoge.jpg
2 2.txt test.txt
3 3.jpg    nantoka.jpg 
09099082007/05/24(木) 15:14:52ID:Ultn4Y5Q
すいません ずれていました

【id】【ファイル名】【元々のファイル名】
1 1.jpg hoge.jpg
2 2.txt test.txt
3 3.jpg nantoka.jpg
0910nobodyさん2007/05/24(木) 15:22:13ID:???
1.jpgダウンロード時ヘッダおくってやればいい
header('Content-Disposition: attachment; filename="hoge.jpg")
09119082007/05/24(木) 15:29:24ID:Ultn4Y5Q
>>910
素早い回答ありがとうございます
本当に助かりました
ありがとうございました
0912nobodyさん2007/05/24(木) 15:34:49ID:IzNiejk0
x51pace@gmail.com
馬鹿の見本
0913nobodyさん2007/05/24(木) 16:01:36ID:FJNwm9Bz
>>907
どうもありがとうございます。
その説明で納得しました。
JavaのエラーとPHPのエラーは意味あいが違うのですね。
PHPにあわせた書き方ができるように精進します。
0914nobodyさん2007/05/24(木) 16:05:55ID:o0IpBJnI
POSTでおくられたデータが空だった場合の比較は↓でいいですか?データを'name'とします
if($_POST['name'] == "") { 該当処理 }
0915nobodyさん2007/05/24(木) 16:10:49ID:c6PcIOvM
質問水準からいえば、まあ、それでいいんじゃないの、と答えるしかない。
09169142007/05/24(木) 16:17:00ID:o0IpBJnI
>>915
ありがとうございます。
0917nobodyさん2007/05/24(木) 19:20:00ID:???
以下のような二つの配列をひとつの配列にキーを捧持したままマージしたいのですが
$a = array(0=>"ゼロ",1=>"イチ");
$b = array(9=>"キュー");
array_merge や array_unshift を使うとキーが初期化されてしまいます
そこで $array = $a+$b; としたら思い通りの答えを取得できたのですが
マニュアルを見る限り上記のような方法を書いていないようなので
もっとちゃんとしたやり方があるなら教えてもらえませんか?
レス数が900を超えています。1000を超えると表示できなくなるよ。