Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql字段上缺少上载图像和文件扩展名_Php_Image Uploading - Fatal编程技术网

Php mysql字段上缺少上载图像和文件扩展名

Php mysql字段上缺少上载图像和文件扩展名,php,image-uploading,Php,Image Uploading,我有一段代码,可以执行多图像上传并重命名它 它可以工作,文件重命名正确,但我不明白为什么在mysql数据库中我没有文件扩展名,只有名称 例如: 文件名(文件夹):abcdefg.jpg pd_图像(mysql字段):abcdefg $resultname对于这两种情况都是相同的 $mainame = $handle->file_dst_name; $db_name = str_replace(" ","_",$mainame); $image = md5(rand()

我有一段代码,可以执行多图像上传并重命名它

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

例如: 文件名(文件夹):abcdefg.jpg

pd_图像(mysql字段):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”

检查这一行,您正在用“”替换扩展名

将此线路更换为

$resultname = $image.'.'.$extension;
您正在将变量$db_name指定为字符串。将变量连接到另一个字符串的正确方法是

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

看起来您自己正在删除(替换)扩展名:
$resultname=str_replace(“.$extension,”,$image) $image = md5(rand() * time()).$db_name;