0

我有一个使用 imagecreatefromjpeg 的 PHP 脚本(如下),它可以工作。然后我添加了几个 mysql 语句,它不再起作用(我看到损坏的图像图标)。

如何混合 imagecreatefromjpeg 并与 mysql 查询相关。谢谢!

<?php
//Report any errors
ini_set ("display_errors", "1");
error_reporting(E_ALL);

$user="root";
$password="pw";
$database="piwigo";

//Adding these two lines breaks the image:
  //mysql_connect(localhost,$user,$password);
  //@mysql_select_db($database) or die( "Unable to select database");

$current_image = imagecreatefromjpeg("sample.jpg");
// place code for saving the montage image as a file or outputting to the
// browser here.
header("Content-type: image/jpeg"); 
imagejpeg($current_image);
imagedestroy($current_image);

mysql_close();

?>
4

1 回答 1

2
//Report any errors
ini_set ("display_errors", "1");
error_reporting(E_ALL);

您报告错误它会生成输出然后图像损坏。

例如

mysql_connect(localhost,$user,$password);

一定是

mysql_connect("localhost",$user,$password);

你能运行下面的代码看看你得到除了图像之外的任何输出吗

<?php
//Report any errors
ini_set ("display_errors", "1");
error_reporting(E_ALL);

$user="root";
$password="pw";
$database="piwigo";

//Adding these two lines breaks the image:
mysql_connect(localhost,$user,$password);
@mysql_select_db($database) or die( "Unable to select database");

// $current_image = imagecreatefromjpeg("sample.jpg");
// place code for saving the montage image as a file or outputting to the
// browser here.
// header("Content-type: image/jpeg"); 
// imagejpeg($current_image);
// imagedestroy($current_image);

mysql_close();

?>

可能的工作代码

<?php
// Don't Report any errors
error_reporting(0);

$user="root";
$password="pw";
$database="piwigo";

//Adding these two lines breaks the image:
mysql_connect("localhost",$user,$password) or die("Unable to connect database");
@mysql_select_db($database) or die("Unable to select database");

$current_image = imagecreatefromjpeg("sample.jpg");
// place code for saving the montage image as a file or outputting to the
// browser here.
header("Content-type: image/jpeg"); 
imagejpeg($current_image);
imagedestroy($current_image);

mysql_close();

?>
于 2013-06-07T22:06:33.250 回答