我正在使用PHP寫圖片上的圖片。我很容易從當前圖片創建新圖片並使用PHP寫文本。但我也希望當我點擊應用更改時,將這個新圖片移動到我的目錄(move_uploaded_file)並用新圖像替換當前圖像,新圖像名稱必須與之前圖像相同,因爲我正在使用PHP下載它。從@imagecreatefromjpeg獲得<img>標記?
這是我用來寫它的代碼。
HTML代碼:
<img id="image" src="<?php echo "upload_pic/" . $_FILES["image_file"]["name"]; ?>" alt="your_image" />
<input type="button" name="save_image" id="save_image" value="Save Image" />
<input type="hidden" id="hidden_image_name" name="hidden_image_name" value="<?php echo $_FILES["image_file"]["name"]; ?>" />
jQuery代碼:
jQuery('#save_image').click(function(){
var image_name = jQuery('#hidden_image_name').val();
jQuery.ajax({
url:'text_image.php',
data:'file='+image_name,
type:'get',
success:function(data){
alert(data);
}
});
});
text_image.php
<?php
$file = 'upload_pic/'.$_GET['file'];
/*** set the header for the image ***/
header("Content-type: image/jpeg");
/*** specify an image and text ***/
$im = writeToImage($file, 'PHPRO rules again');
//echo $im;
/*** spit the image out the other end ***/
imagejpeg($im);
/**
*
* @Write text to an existing image
*
* @Author Kevin Waterson
*
* @access public
*
* @param string The image path
*
* @param string The text string
*
* @return resource
*
*/
function writeToImage($imagefile, $text){
/*** make sure the file exists ***/
if(file_exists($imagefile))
{
/*** create image ***/
$im = @imagecreatefromjpeg($imagefile);
/*** create the text color ***/
$text_color = imagecolorallocate($im, 233, 14, 91);
/*** splatter the image with text ***/
imagestring($im, 6, 25, 150, "$text", $text_color);
}
else
{
/*** if the file does not exist we will create our own image ***/
/*** Create a black image ***/
$im = imagecreatetruecolor(150, 30); /* Create a black image */
/*** the background color ***/
$bgc = imagecolorallocate($im, 255, 255, 255);
/*** the text color ***/
$tc = imagecolorallocate($im, 0, 0, 0);
/*** a little rectangle ***/
imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
/*** output and error message ***/
imagestring($im, 1, 5, 5, "Error loading $imagefile", $tc);
}
return $im;
}
?>
在先進的感謝!
我檢查響應這是非常複雜的JFIF> CREATOR:GD-JPEG V1.0(使用IJG JPEG V62),默認質量 Ç\t \t $。' 」,#(7),01444'9 = 82 <.342C \t \t \t 2 !! 22222222222222222222222222222222222222222222222222" \t }!1AQa「Q2#BR $ 3房 – CuteBabyMannu
這不是‘複雜’,這正是一個JPEG圖像看上去,當你在文本模式下查看等。 – Spudley
另外,要小心使用'$ _FILES [「image_file」] [「name」] - 因爲文件的名字由客戶端決定,所以它有可能被用作攻擊媒介。包含斜線,你的代碼可能會加載一個不同的文件到你期望的文件中,你應該確保你在使用之前對它進行了清理,或者根本不使用它(即爲你上傳的文件構建你自己的名字)。 – Spudley