0

画像アップローダーを作成しようとしていますが、画像をフォルダーに保存するのに問題があります。フォルダーは、images という名前のディレクトリのルートにある必要がありますか? もしそうなら、move_uploaded_file コードを使用すると、そのフォルダに画像が保存されないのはなぜですか?

ありがとうございました。

//connect to db include('includes/connection.php');

if(isset($_FILES['files'])){

$errors= array();
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
    $file_name = $key.$_FILES['files']['name'][$key];
    $file_size =$_FILES['files']['size'][$key];
    $file_tmp =$_FILES['files']['tmp_name'][$key];
    $file_type=$_FILES['files']['type'][$key];  
    if($file_size > 2097152){
        $errors[]='File size must be less than 2 MB';
    }       
    $query="INSERT into store (`id`,`name`,`size`,`type`) VALUES('$user_id','$file_name','$file_size','$file_type'); ";
    $desired_dir="images/";
    if(empty($errors)==true){
        if(is_dir($desired_dir)==false){
            mkdir($desired_dir, 0700);      // Create directory if it does not exist
        }
        if(is_dir($desired_dir.$file_name)==false){
            move_uploaded_file($file_tmp, "$desired_dir/$file_name");
        }else{                                  // rename the file if another one exist
            $new_dir=$desired_dir.$file_name.time();
             rename($file_tmp,$new_dir) ;               
        }
     mysql_query($query);           
    }else{
            print_r($errors);
    }
}
if(empty($error)){
    echo "Success";
}
}

echo '<img src="images/' . $row['id'] . '</img>';
4

3 に答える 3

1

フォルダーのchmodを775に置きます

説明 chmod

Chmod は、フォルダーまたはファイルへのアクセス権を付与します。

キャラクターはどこを表していますか?

The first charater stands for user
The second character stands for group
The thirth character stands for world

権利

0 No Permissions 
1 Execute Only 
2 Write Only 
3 Write & Execute Permissions
4 Read Only
5 Read & Execute Permissions
6 Read & Write Permissions
7 Read, Write & Execute Permissions

chmod の変更方法

filezilla経由

  1. あなたのftpに接続する
  2. フォルダを検索
  3. 右クリックしてファイルのアクセス許可を選択します
  4. 775に数値を設定

直接管理者経由

  1. ファイルマネージャーに移動します
  2. フォルダを検索
  3. 「権限の設定」に値 775 を入力します。
  4. ボタンを押す。

Linux カーネル経由

  1. カーネルを起動する
  2. chmod 7 7 5 myfolder/ を実行します。
于 2013-04-17T14:47:55.013 に答える