0

imgur.com APIとjQueryの.ajax()関数を使用してサーバーに画像をアップロードする画像アップローダーがあります。ただし、<input type="file"/>フォームの要素を使用して画像を参照した場合、画像ファイルがフォームが見つかったファイルと同じディレクトリにある場合にのみ、画像のアップロードに成功しpage.phpます(以下を参照)。フォームがコンピュータの任意のディレクトリから画像をアップロードできるようにするにはどうすればよいですか?

page.php:

<form action="page.php" method="post">
    <input type="file" name="doc" id="doc" /><br/>
    <input type="image" src="go.gif" name="submit" id="submit" />
</form>
4

3 に答える 3

2

たとえば、タグのenctype="multipart/form-data"属性を忘れています。formこれがないと、ファイルのアップロードは通常うまく機能しません。

それを超えて、特にPHPの下では、サーバーはアップロード元のディレクトリを気にしません。$_FILES['file']['tmp_name']サーバーにアップロードされたコピーは、コンピューターのディレクトリ/ファイル名とはまったく関係のない一時ファイル名 ( ) で保存されます。

サーバー上にある場合は、実際にその一時ファイルを別の場所に移動する必要があります。これは、スクリプトが終了し、自分で処理していない場合、PHP が一時ファイルを自動削除するためです。move_uploaded_file()そのプロセスを実行するために一般的に使用されるものです。

于 2010-04-12T21:21:33.967 に答える
0

おそらく、これは書き込み権限を持つ唯一のフォルダーです。

于 2010-04-12T21:05:34.210 に答える
0

フォームがそれ自体に投稿しているだけなので、実際の投稿を行っているのはjqueryだと思いhttp://imgur.com/api/uploadます。したがって、jquery / javascriptは、ハードドライブ全体ではなく、Webスペース内のファイルのみを読み取ることができると思います。

于 2010-04-12T21:20:40.020 に答える