PHP file_put_contents()

PHP file_put_contents()

我怎样才能得到它来提供实际图像?

file_put_contents($url,$image);

大小和名称已正确发布到目录中,但图像似乎损坏了。我需要编码还是解码?

特此通知您,$image 来自以下来源:

    ob_start();
    echo imagejpeg($image,null,30);
    $image = ob_get_clean();
    ob_end_clean();
    $image = addslashes($image);

$image 已按原样成功发布到 mysql,但我一直在努力将其放入目录。

imagejpeg() 将图像输出到输出缓冲区。您正在使用 echo imagepeg(),它将输出图像,然后立即回显函数调用的 true/false return 值。

此外,您这样做会破坏图像:$image = addslashes($image);,我认为这样做是为了您的数据库。

你需要的是

ob_start();
imagejpeg($image,null,30);
$image = ob_get_clean();
file_put_contents($url,$image);

我不明白为什么要将图像存储在文件系统的数据库 中。文件系统应该足够好:将路径和文件名存储在数据库中。

如果您觉得必须将图像添加到数据库中,请不要使用addslashes(),而是使用API您提供的函数将其转义'正在使用,在您要执行查询的位置。您最好使用准备好的语句,这样就不需要转义数据了。