PHP映像上载代码在localhost上工作但不在服务器上工作

时间:2013-04-21 05:00:12

标签: php image-upload

<?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的文件夹中,如果代码不存在,代码将自行创建。而不是将图像保存在文件夹中。在localhost上它创建了一个文件夹本身开始将图像保存到文件夹中但在线它没有创建文件夹,当我手动创建文件夹时,它仍然没有将图像保存在文件夹中。代码没有给出任何错误msgs而是给了我成功的消息。

1 个答案:

答案 0 :(得分:0)

  1. 确保您的数据库连接成功并且所有查询都是 正确

  2. 确保您的脚本具有服务器的写权限

  3. 如果没有帮助,请尝试调试代码以找出出错的地方