2016-09-27 3 views
0

ファイルをアップロードしてフォルダに保存しようとしています。それは印刷されます:成功ですが、ファイルは宛先フォルダにありません。私は何らかの許可を与えていますか?どのように私はそれらを与えるのですか?また、宛先フォルダのパスを指定するにはどうすればいいですか?つまり、\または/?ファイルをアップロードしてPHPで保存する

<?php 
    if(isset($_FILES['image'])){ 
     $errors= array(); 
     $file_name = $_FILES['image']['name']; 
     $file_size = $_FILES['image']['size']; 
     $file_tmp = $_FILES['image']['tmp_name']; 
     $file_type = $_FILES['image']['type']; 
     $file_ext=strtolower(end(explode('.',$_FILES['image']['name']))); 

     $expensions= array("jpeg","jpg","png"); 

     if(in_array($file_ext,$expensions)=== false){ 
     echo "1"; 
     $errors[]="extension not allowed, please choose a JPEG or PNG file."; 
     } 

     if($file_size > 2097152) { 
     echo "2"; 
     $errors[]='File size must be excately 2 MB'; 
     } 

     if(empty($errors)==true) { 
     echo "Sarang"; 
     move_uploaded_file($file_tmp,"/uploads".$file_name); 
     echo "Success"; 
     }else{ 
     print_r($errors); 
     } 
    } 
?> 

<html> 
    <body> 

     <form action = "" method = "POST" enctype = "multipart/form-data"> 
     <input type = "file" name = "image" /> 
     <input type = "submit"/> 

     <ul> 
      <li>Sent file: <?php echo $_FILES['image']['name']; ?> 
      <li>File size: <?php echo $_FILES['image']['size']; ?> 
      <li>File type: <?php echo $_FILES['image']['type'] ?> 
     </ul> 

     </form> 

    </body> 
</html> 
+0

マニュアルのすべてhttp://php.net/manual/en/features.file-upload.php --- http://php.net/manual/en/features.file-upload.post- method.php --- http://php.net/manual/en/function.chmod.phpとエラー報告を使用するhttp://php.net/manual/en/function.error-reporting.php –

答えて

1

私の考える小さな問題です。ファイル名は(私が推測する)前方先頭のスラッシュを持っていないため

move_uploaded_file($file_tmp,"/uploads/".$file_name); 

move_uploaded_file($file_tmp,"/uploads".$file_name); 

にほんの少し今までに微調整する必要があります。私は、この行は信じています。

+0

簡単なストレートポイントへ。 1アップ! – Poiz

+0

^...彼らはすべて、彼らが見るつもりです。もう1つ*「お金を取って♫」OPのタイプを実行する。あなたに曲を思い出させる? ;-) –

1

このライン

move_uploaded_file($file_tmp,"/uploads".$file_name); 

はこのようなものでなければなりません:

$target_file = __DIR__ . "/uploads/" . $file_name; // don't forget the slash 
move_uploaded_file($file_tmp, $target_file); 

先のパスは現在の作業ディレクトリにサーバーまたは相対でフルパスでなければなりません。

/uploads/のようなパスは、UNIX OSを使用する場合はルート/ディレクトリから開始して解釈され、このパスがない場合は保存されません。

+0

雨として右.... – Poiz

関連する問題