上传mysql字段上缺少的图像和文件扩展名

时间:2014-03-25 09:08:31

标签: php image-uploading

我有这段代码执行多图像上传并重命名。

它工作正常,文件被正确重命名,但我不明白为什么在mysql数据库中我没有文件扩展名但只有名称。

实施例: 文件名(文件夹):abcdefg.jpg

pd_image(mysql field):abcdefg

$ resultname对于两者都是相同的

 $mainame = $handle->file_dst_name;


    $db_name = str_replace(" ","_",$mainame);
    $image = md5(rand() * time()) . ".$db_name";
    $parts = explode(".",$image);
    $extension = end($parts);
    $resultname = str_replace("." . $extension,"",$image);

         $handle->file_new_name_body   =   $resultname;
         $handle->image_resize     = true;
         $handle->image_ratio_crop = true;
         $handle->image_x          = 800;
         $handle->image_y          = 600;

        $handle->Process($dir_dest);

        // we check if everything went OK
        if ($handle->processed) {
              header("Location: index.php");    //echo 'image resized';
               $handle->clean();

    $query_img="INSERT into tbl_images (pd_id, file_name, pd_image) VALUES('$pd_id','$mainame','$resultname')";      
       $result2 = dbQuery($query_img);

我正在使用班级" class.upload.php"

1 个答案:

答案 0 :(得分:0)

检查此行,您正在用“”替换扩展名。

$resultname = str_replace("." . $extension,"",$image);

将此行替换为

$resultname = $image.'.'.$extension;

你将变量$ db_name作为string.Correct方法将变量连接到另一个字符串是

 $image = md5(rand() * time()).$db_name;