
単に画像ファイルをアップロードさせるだけなのですが、何故か出来ません。プログラミングに関しては初心者ですので、どなたかアドバイスをよろしくお願いします。
■アップロードフォーム用のHTMLファイルです↓ ファイル名=gazou_upload.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ファイルです↓ ファイル名=gazou_upload.php
<?php
if (move_uploaded_file($_FILES['userfile']['tmp_name'], "/image/")) {
print "ファイルアップロード成功";
print_r($_FILES);
} else {
print "ファイルアップロード失敗"."<br>";
print_r($_FILES);
}
?>
■ファイルを保存するディレクトリ
上のファイルと同じ階層で フォルダ名が image
パーミッションは3つとも 707 にしました。
パーミッションが拒否されたというメッセージだと思うので、パーミッションを変更したのですがダメでした・・ちなみにサーバはロリポップを使っていて、777と666はエラーになると注意書きがあったので、707にしました。かなりハマっていて困っています。回答もしくはアドバイスをどなたかよろしくお願いします。
No.1ベストアンサー
- 回答日時:
if (move_uploaded_file($_FILES['userfile']['tmp_name'], "/image/")) {
↑の行のmove_uploaded_fileの二つ目の引数はフォルダ+ファイル名で指定します。
(ファイル名がtest.txtなら/image/text.txt)
あと、is_uploaded_fileで悪意のあるユーザーが関係ないファイルを勝手に操作しないようにチェックした方がいいですよん。
参考URL:http://php.s3.to/man/function.is-uploaded-file.h …
この回答への補足
修正しましたが、うまく動作してくれません・・2時間試行錯誤したのですが・・どなたか助言をお願いします。。
以下が修正したgazou_upload.phpのファイルです。
<?php
// アップロード先ディレクトリ+ファイル名の指定
$uploaddir = '/image/';
$uploadfile = $uploaddir. $_FILES['userfile']['name'];
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print "ファイルアップロード成功";
print_r($_FILES);
} else {
print "ファイルアップロード失敗"."<br>";
print_r($_FILES);
}
?>
■結果
Warning: move_uploaded_file(/image/P1010851.jpg): failed to open stream: No such file or directory in /home/sites/lolipop.jp/users/**********/web/gazou_upload.php on line 8
Warning: move_uploaded_file(): Unable to move '/tmp/phpuqa8g2' to '/image/P1010851.jpg' in /home/sites/lolipop.jp/users/***********/web/gazou_upload.php on line 8
ファイルアップロード失敗
Array ( [userfile] => Array ( [name] => P1010851.jpg [type] => image/pjpeg [tmp_name] => /tmp/phpuqa8g2 [error] => 0 [size] => 84509 ) )
あっ、そうだったんですか・・・わかりました!もうちょっと落ち着いてサンプルなどを見る必要がありますね。すごく初歩的な質問に丁寧に回答してくださいましてありがとうございました!自分では変なツボにハマってしまって・・エラーメッセージではパーミッションディナイって出てるし・・本当に助かりました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大容量のファイルアップロード...
-
ファイルサイズがpost_max_size...
-
「クラウドにアップロード」」...
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
.htaccessにphp_valueが使用できな
-
mysql→EUC-JP、php→UTF-8の時の...
-
2つの画像ファイルが異なるファ...
-
require_once()でファイルが読...
-
phpの中でphpを書けないか
-
FTPコマンドでディレクトリごと...
-
MkDir関数
-
【file_exists】ファイルが存在...
-
sqlで日付が一番古いデータの月...
-
フォームで戻った際に入力済み...
-
<A href ~ と一緒に値を渡すには
-
テレメールとは?
-
「クラス関数」「メンバ関数」...
-
Makefile.inとMakefile.am
-
現在位置より2つ上のディレク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
「クラウドにアップロード」」...
-
BASP21のFTPで日本語ファイル名...
-
ftpでアップロードが出来ない
-
FTPClientで転送結果(OKかFAIL)
-
youtubeに音声のみのmp4ファイ...
-
PHPでxmlをAPIに送信する方法(P...
-
os x serverのアップロードファ...
-
ファイルのアップロードがどう...
-
$_FILES['x']['error']について
-
DUMPした巨大SQLファイルをイン...
-
違法アップロードについて
-
ファイルアップロードの日付に...
-
ファイルアップロードしたもの...
-
PHPで音楽ファイルのアップ...
-
アップロードするとバックスラ...
-
BASP21を利用してリネームファ...
-
ファイルサイズがpost_max_size...
-
ファイルのアップロードを行う...
-
SmartyでHTMLソースの変更が反...
おすすめ情報