我有这段代码执行多图像上传并重命名。
它工作正常,文件被正确重命名,但我不明白为什么在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"
答案 0 :(得分:0)
检查此行,您正在用“”替换扩展名。
$resultname = str_replace("." . $extension,"",$image);
将此行替换为
$resultname = $image.'.'.$extension;
你将变量$ db_name作为string.Correct方法将变量连接到另一个字符串是
$image = md5(rand() * time()).$db_name;