-1
<?php
$con=mysqli_connect("localhost","root","","namkaran");
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 upload_data (`FILE_NAME`,`FILE_SIZE`,`FILE_TYPE`)
    VALUES('$file_name','$file_size','$file_type'); ";
    $desired_dir="user_data";
    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 (!mysqli_query($con,$query))
{
 die('Error: ' . mysqli_error());
  }
if(empty($error)){
    echo "Photos Uploaded Succesfully !!";
}
 }
 ?>

これは私の画像アップロード コードです。localhost ではうまく動作しますが、サーバーにアップロードすると動作しません。このコードは、アップロードされた画像を user_data というフォルダーに保存します。このフォルダーが存在しない場合は、コードが作成します。そして、フォルダに画像を保存します。ローカルホストでは、フォルダー自体を作成してフォルダーに画像を保存し始めましたが、オンラインではフォルダーを作成しませんでした。フォルダーを手動で作成しても、フォルダーに画像を保存していません。コードはエラー メッセージを表示せず、代わりに成功メッセージを表示します。

4

1 に答える 1

0
  1. データベース接続が成功し、すべてのクエリが正しいことを確認してください

  2. スクリプトにサーバーへの書き込み権限があることを確認してください

  3. 問題が解決しない場合は、コードをデバッグして、どこが間違っているかを調べてください

于 2013-04-23T20:54:25.710 に答える