2016-11-25 14 views
0

問題があります。PHPを使用してファイルをフォルダにアップロードしようとしていますが、できません。私は以下のコードを説明しています。PHPを使用してファイルをフォルダにアップロードできません

user.php:

$target_dir = "admin/uploads/"; 
$target_file = $target_dir . basename($_FILES['file']['name']); 
$imageFileType = pathinfo($target_file, PATHINFO_EXTENSION); 
$uploadOk = 1; 
$check = getimagesize($_FILES['file']['tmp_name']); 
header('Content-Type: application/json'); 
if ($check !== false) { 

    $uploadOk = 1; 
} else { 

    $uploadOk = 0; 
} 

if (file_exists($target_file)) { 
    $uploadOk = 0; 
} 
      if ($uploadOk == 0) { 
      } else { 
       if (move_uploaded_file($_FILES['file']['tmp_name'], $target_file)) { 
       $result['msg'] = "Image has uploaded successfully."; 
       $result['num'] = 1; 
       $result['img'] =$_FILES['file']['name']; 
       } else { 
       $result['msg'] = "Sorry, Your Image could not uploaded to the directory."; 
       $result['num'] = 0; 
    } 

} 

ここで私は$_FILESための入力を取得していますメッセージSorry, Your Image could not uploaded to the directory. .Hereを取得していますが、以下のようなものです。

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

私はフォルダの書き込み権限も持っています。私のディレクトリ構造は以下の通りです。

root folder 

    ->admin 
     =>uploads//(images need to saved) 


    -> API 
     =>V1 
      ->user.php(//here is my file upload code) 

この場合、常にファイルをフォルダにアップロードできません。この問題を解決するのを手伝ってください。

+0

を試してみてください。フォルダのアクセス許可を077に変更します。 –

+0

ディレクトリのアクセス許可を確認します。 – Samay

+0

PHP error_logとは何ですか?ディレクトリは書き込み可能である必要はあるだけでなく、ウェブサーバが実行するのと同じユーザ(例えばapache/nginx)が所有する - これはLinuxサーバであると仮定します。 – flauntster

答えて

2

変更$targetdirへ:

$targetdir = '../../admin/uploads';

0

アップロードディレクトリは、スクリプトのパスからの相対パスです。あなたはこれでそれを変更することができます。

$target_dir = $_SERVER['DOCUMENT_ROOT'] . "/admin/uploads/"; 
0

は、ディレクトリが読み取り書き込み権限を持っていないかもしれこの

$target_dir = __DIR__ . "/admin/uploads/"; 
関連する問題