2016-11-24 8 views
0

PHPでディレクトリにファイルをアップロードできませんでした。私は以下のコードを説明しています。PHPを使用して画像をフォルダにアップロードできませんでした

$_FILES=array('picture'=>array('name' => 'IMG-20161121-WA0000.jpg','type' => ' image/png','tmp_name' => '/tmp/phpSb6a53', 'error' => 0, 'size' => 119198)); 
$imageFieldName = 'picture'; 
$imagePath = "admin/uploads/"; 
uploadImage($_FILES,$imageFieldName,$imagePath,function($image){ 
    print_r($image);exit; 
} 
public function uploadImage($files, $imageFieldName, $imageDirPath, $callback) { 
     $result = array(); 
     ; 
     $imageName = generateRandomNumber() . '_' . $_FILES[$imageFieldName]['name']; 
     // echo($_FILES[$imageFieldName]['tmp_name']);exit; 
     $target_dir = $imageDirPath; 
     $target_file = $target_dir . basename($imageName); 
     $uploadOk = 1; 
     $imageFileType = pathinfo($target_file, PATHINFO_EXTENSION); 
     if (file_exists($target_file)) { 
      $result['msg'] = "Sorry, file already exists."; 
      $result['num'] = 0; 
      $callback($result); 
      $uploadOk = 0; 
     } 
     if ($_FILES[$imageFieldName]["size"] > 500000) { 
      // echo 'fileSize';exit; 
      $result['msg'] = "Sorry, file size is large."; 
      $result['num'] = 0; 
      $callback($result); 
      $uploadOk = 0; 
     } 
     if (($imageFileType != "jpg" && $imageFileType != "JPG") && $imageFileType != "png" && $imageFileType != "jpeg") { 
      $result['msg'] = "Sorry, only .jpg,.jpeg and .png files are allowed."; 
      $result['num'] = 0; 
      $callback($result); 
      $uploadOk = 0; 
     } 
     if ($uploadOk == 0) { 
      $result['msg'] = "Sorry, Your file could not uploaded."; 
      $result['num'] = 0; 
      $callback($result); 
     } else { 
      if (move_uploaded_file($_FILES[$imageFieldName]['tmp_name'], $target_file)) { 
       $result['msg'] = "Image has uploaded successfully."; 
       $result['num'] = 1; 
       $result['img'] = $imageName; 
       $callback($result); 
      } else { 
       $result['msg'] = "Sorry, Your Image could not uploaded to the directory."; 
       $result['num'] = 0; 
       $callback($result); 
      } 
     } 
    } 

ファイルを選択した後、私は、入力として

$_FILES=array('name' => 'IMG-20161121-WA0000.jpg','type' => ' image/png','tmp_name' => '/tmp/phpSb6a53', 'error' => 0, 'size' => 119198);

を取得しています。

しかし、私は、メッセージ

`アレイ取得しています([MSG] =>申し訳ありませんが、あなたのイメージが ディレクトリにアップロードされませんでした。[NUM] => 0)

しばらくprint_r。ここで私はフォルダに画像をアップロードする必要があります。私を助けてください。

+0

ターゲットディレクトリが書き込み可能かどうかを確認します。 –

+0

@RomaRush:はい、書き込み可能です。 – subhra

+0

私はこのようなディレクトリパスを持っています。 'API/normaluser.php'はfileuploadコードを使用しています。' admin/uploads/'フォルダをアップロードします。一つのルートフォルダ内と' admin'フォルダの 'upload'フォルダ内に' APIとadmin'フォルダがあります私はどこに画像をアップロードする必要があります。 – subhra

答えて

-1

php.iniのファイルアップロードの設定を確認しましたか?

おそらく彼らはあまりにも小さく設定されている

upload_max_filesize 
post_max_size 
memory_limit 

の値を確認してください。

+0

この関数は、同じディレクトリで他のperposeで正常に動作しています。しかし、 '$ _FILES = array( 'name' => 'IMG-20161121-WA0000.jpg'、 'type' => ' image/png'、 'tmp_name' => '/ tmpのように書くと、/phpSb6a53 '、' error '=> 0、' size '=> 119198) '、エラーメッセージを表示します。 – subhra

関連する問題