正在将图像上载到数据库,问题$_FILES不起作用


Uploading image into database, issue $_FILES is not working

我正试图编写一段代码,将图像和其他一些信息上传到我的mysql数据库中。但我做不到。php代码没有输入"if(!empty($_FILES["uploadedimage"]["name"])"语句。我不确定$_FILES是如何工作的。下面是我的文件输入标记的html代码,然后我也添加了我的php代码:

HTML:

    <form id="myForm" action="inventory.php" enctype="multipart/form-data" class="form-horizontal" method="post" >
<div class="form-group">
                                    <label for="confirm" class="col-sm-2 control-label">Image URL</label>
                                    <div class="col-sm-10">
                                        <input id="photo" name="uploadedimage" type="file" class="required">
                                    </div>
                                </div>

以下是Php代码:

$item_code = $_POST['itemCode'];
$price = $_POST['price'];
$description = $_POST['description'];
function GetImageExtension($imagetype)
 {
   if(empty($imagetype)) return false;
   switch($imagetype)
   {
       case 'image/bmp': return '.bmp';
       case 'image/gif': return '.gif';
       case 'image/jpeg': return '.jpg';
       case 'image/png': return '.png';
       default: return false;
   }
 }

if (!empty($_FILES["uploadedimage"]["name"])) {
    echo "enter first if";
    $file_name=$_FILES["uploadedimage"]["name"];
    $temp_name=$_FILES["uploadedimage"]["tmp_name"];
    $imgtype=$_FILES["uploadedimage"]["type"];
    $ext= GetImageExtension($imgtype);
    //$imagename=date("d-m-Y")."-".time().$ext;
    $imagename = $item_code.$ext;
    $target_path = "images111/".$imagename;

    if(move_uploaded_file($temp_name, $target_path)) {
        $query_upload="INSERT into 'inventory' ('item_code', 'price', 'description', 'image') VALUES 
        ('$item_code', '$price', '$description', '".$target_path."')";
        mysql_query($query_upload) or die("error in $query_upload == ----> ".mysql_error());  
    }else{
       exit("Error While uploading image on the server");
    } 
} 
else
{
    echo "command did not work";
}

您的$_FILE是空的吗?

如果是,您的php.ini是否正确配置为接受文件上载?您有几个指令必须正确配置。

  1. file_uploads是相当明显的。它需要设置为true才能接受文件上载
  2. upload_tmp_dir是文件上传时用于存储文件的临时目录。必须可由任何运行PHP的用户写入。通常PHP将使用默认的系统临时目录
  3. upload_max_filesize是已上载文件的最大大小。如果您的文件大于此值,则不会接受
  4. post_max_size设置允许的帖子数据的最大大小,并影响文件上传。应设置为大于upload_max_filesize的值
  5. memory_limit设置允许脚本分配的最大内存量(以字节为单位),并影响文件上载。一般来说,memory_limit应该大于post_max_size

如果这些设置中的任何一个配置不正确,您可能会得到一个空的$_FILES数组。