dポイントプレゼントキャンペーン実施中!

皆様はじめまして。
phpでファイル[jpg画像]をアップロードできるようなブラウザーを作りたいのですが、検索でいろいろ探してはみたのですが、php初心者なのでいまいちよく分かっていません。
いくつかのページを参考にし、とりあえず参照→送信[アップ]できるようなブラウザーまではできたのですが、その先がうまくいきません。
サーバー上のにあるフォルダに画像をアップロードしたいのですが、上にも書いたようにphp初心者なので分からない部分が多くあります。
一連の流れが初心者でも分かるページなどありましたら教えていただけないでしょうか?
よろしくお願いします。

A 回答 (5件)

マニュアルは見てられるようですね。

惜しいところです。

>$uploaddir = '/var/www/uploads/';
>$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
>
>echo '<pre>';
>if (move_uploaded_file($_FILES['userfile']['tmp_name'], >$uploadfile)) {
> echo "File is valid, and was successfully uploaded.\n";
>} else {
> echo "Possible file upload attack!\n";
>}

サンプルは上記のようになっていて、パスを含んだファイル名です。
なお、サンプルではファイル名はbasename($_FILES['userfile']['name'])
となっていますが、任意の名称で構いません。

それから、エラー発生の場合には、エラー内容も確認するほうが良いので
print_r($_FILES);
を入れておいてはどうでしょう。

後、エラーが発生する要因imgフォルダのpermissionとか
そもそもサーバの設定上ファイルアップロードができないように
なっている等が考えられます。
    • good
    • 0
この回答へのお礼

なるほど。参考になります。
permissionyやサーバーのほうは問題ないとのことでした。

お礼日時:2006/01/13 23:27

失礼、print_r($_FILES)は入ってましたね。


そこには何もエラー情報はなかったのでしょうか。
    • good
    • 0

if (move_uploaded_file($_FILES['userfile']['tmp_name'], "/img/".$_FILE['userfile']['name'])) {



じゃないのかなぁ。
移動先はファイル名と書いてあるので。

参考URL:http://jp2.php.net/manual/ja/function.move-uploa …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
変更してはみましたが(変更するだけでいいんですか?)…失敗しました。

本やサイトをみてやってはいるのですが、なかなかうまくいきませんね。

お礼日時:2006/01/13 23:25

もともと用意されているPHPアップローダーを設置されてはどうでしょうか?


もちろん自分で勉強して自分でつくれるほうがいいんですが・・・。
ちなみに当たり前のことを聞きますが、サーバーはPHPを使用できる環境ですよね?

余談で揚げ足とりになりますが、ブラウザとはWebを閲覧するアプリケーションなので、「ファイルをアップできるブラウザをつくりたい」等の記述は間違いです。

参考URL:http://php.s3.to/net/#up
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
PHPは使用できる環境でした。
用意されているものを使用してもいいのですが、おそらく僕が作ろうとしているのは、そんなに難しいものではないと思うので、できる限りやってみたいと思います。

あと質問内容とは別件でしたが、間違い指摘していただきありがとうございました。

お礼日時:2006/01/13 23:22

>その先がうまくいきません。


という事ですが、何ができないか、なんらかのエラーが発生したとか
いう情報があると具体的なコメントが付きやすいと思います。

とりあえず、以下が参考になるでしょうか。

http://php.benscom.com/manual/ja/features.file-u …
    • good
    • 0
この回答へのお礼

回答ありがとうございますm(__)m

そうですね…具体的に書いたほうが回答もしやすいですよね;

ファイルをアップロードするには
(1)html[アップ用のフォーム]
(2)php
(3)指定のフォルダ
以上があれば指定のフォルダに画像をアップできるということなのでしょうか?
初歩的な質問だと思いますが、申し訳ございません。

いくつか試してはみたのですが↓
[html]
<html>
<head>
<title>ファイルのアップロード</title>
</head>
<body>
<form method="POST" action="gazou_upload.php" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="1000000" >
<input type="file" name="userfile"><br><br>
<input type="submit" value="アップロード">
</body>
</html>

[php]
<?php
if (move_uploaded_file($_FILES['userfile']['tmp_name'], "/img/")) {
print "ファイルアップロード成功";
print_r($_FILES);
} else {
print "ファイルアップロード失敗"."<br>";
print_r($_FILES);
}
?>

[フォルダ]
img

でやったのですが…失敗になりました。

何か間違ってるところがあるんだと思います。
ご指摘いただければと思います。

お礼日時:2006/01/13 01:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!