1

テキスト入力とアップロードする写真を要求する from を作成するように求められます。次に、それらが表示される画像を作成します。生成された画像はサーバーに保存する必要があります (データベースは使用しません)。画像を正常に生成するコードがここにあります (この場合は imagejpeg と imagecreatefromjpeg を使用しましたが、ファイル拡張子 .jpg を付けてサーバーに保存する必要があります。また、一意の名前を付ける必要があります。

header('Content-Disposition: attachment; filename="image.jpg"');を使ってみました ただし、サーバーではなくPCに保存します。以下は私のコードです。自由に編集してください。また、コピーペーストだけでなく、理解できるようにコメントを残してください。助けてくれてありがとう。私は本当に今までにそれを機能させる必要があります。再度、感謝します

    //for textbox input
$title = $_POST['title'];
$story = "My super story begins with" . $_POST['story'] . " My task was " . $_POST['task'] ." With the super power of ". $_POST['power'] ." I solved it by ". $_POST['solve'] ." The result was". $_POST['result'];


//header('Content-Disposition: attachment; filename="image.jpg"'); //this works for saving img to PC or downloading it force .jpg ext
header('Content-Type: image/jpeg');


$upload = $uploadFilename; //this is for getting the uploaded file
$im = imagecreatefromjpeg("bg2.jpg");
$img2 = imagecreatefromjpeg($upload);
$black = imagecolorallocate($im, 0, 0, 0);
$font = 'arialbi.ttf';
$font2 = 'ariali.ttf';

imagettftext($im, 24, 0, $width_sum, 300, $black, $font, $title);


$newtext = wordwrap($story, 35, "\n", true);
$newertext2 = explode  ("\n", $newtext);
imagettftext($im, 8, 0, 300, 362, $black, $font, $story);
imagettftext($im, 8, 0, 300, 374, $black, $font2,$story);
imagettftext($im, 8, 0, 300, 386, $black, $font, $story);
imagettftext($im, 8, 0, 300, 398, $black, $font2, $story);
imagettftext($im, 8, 0, 300, 410, $black, $font, $story);
imagettftext($im, 8, 0, 300, 422, $black, $font2, $story);
imagettftext($im, 8, 0, 300, 434, $black, $font,$story);
imagettftext($im, 8, 0, 300, 446, $black, $font2, $story);
imagettftext($im, 8, 0, 300, 458, $black, $font,$story);
imagettftext($im, 8, 0, 300, 570, $black, $font2, $story);
imagettftext($im, 8, 0, 300, 582, $black, $font, $story);


imagecopymerge($im, $img2, 10, 350, 0, 0, imagesx($img2), imagesy($img2), 100);
imagejpeg($im, null, 100);


//closing for imagejpeg
imagejpeg($im);
imagedestroy($im);
4

2 に答える 2

4

さて、imagejpegのマニュアルにあるように、2 番目の引数は画像を保存するファイル名です。

于 2013-10-26T12:01:58.767 に答える
1

imagejpeg($im, "/PATH/IMAGE_NAME.jpeg") を試す

これは役立つはずです。

于 2013-10-26T12:01:55.067 に答える