• 締切済み

ローカルからサーバへのアップロード

PHPでWEBサイトを作っています。 ローカルにある画像をサーバにアップする機能を作りたいのです。 <form ENCTYPE="multipart/form-data"> <input type="file"/> を使って、参照したファイルを どうしたら、サーバの特定のディレクトリに保存できるのでしょうか。 (メールの添付機能と同じだと思う脳ですが、方法がわかりません)

みんなの回答

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.2

がると申します。 もっとも正確には http://www.php.net/manual/ja/features.file-upload.php をご覧ください。 端的に書くと。 $_FILES スーパーグローバル変数でファイル名を知り、move_uploaded_file関数で「所定の位置」にファイルを移動してあげてください。

first-try
質問者

補足

ご回答ありがとうございます。 教えて頂いたマニュアルを読んでやってみたのですが、どうしても $_FILESがうまく使えません。 <?php $dir = "./"; if ($_POST["submit"]) { $file = basename($_FILES['userfile']['name']); $ok = move_uploaded_file($_FILES['userfile']['tmp_name'], $dir.$file); if ($ok) { print ("OK"); } else { print ("NG"); } } ?> <form method="post" action="<?= $_SERVER['PHP_SELF']?>" enctype="multipart/form-data"> <input type="file" name="userfile"> <input type="submit" name="submit" value="アップデート"/> </form> ソースはこのようになっているのですが、$_FILESでファイル名が取得できないのですが、 何か間違った処理をしているのでしょうか。 もし、お分かりになれば、教えていただけると助かります。 宜しくお願いします。

回答No.1

//保存するディレクトリ $save_dir = "/aaa/bbb/"; で/aaa/bbbに保存先が指定できるとおもいますが。。

関連するQ&A

専門家に質問してみよう