Nasıl zorla indirebilirim bağımsız değişken gerektiren dinamik bir görüntü?

0 Cevap php

Ben bazı bindirme images / metninde atmak için GD kullanan dinamik bir görüntü var. Bu olurdu dynamicImage.php? FirstName = Bob & velastName = Sacamano'ya. Ben bu dosyayı indirmek için sorulmasını istiyorum, bu yüzden orta-adam olarak hareket etmek bir download.php dosyası oluşturulur:

//Get the Arguments
$file .= "firstName=".filter_var($_GET['firstName'], FILTER_SANITIZE_STRING);
$file .= "&lastName=".filter_var($_GET['lastName'], FILTER_SANITIZE_STRING);

//get The File Size
$size = intval(sprintf("%u", filesize($file)));

//Header Info to Prompt for Download and name it a .jpg
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header("Content-disposition: attachment; filename=dynamicImage.jpg");
header("Content-Length: ".$size);
readfile($file, true);//.$file);

2 sorunları ilk bu hatayı alıyorum, var:

PHP Warning:  filesize() [<a href='function.filesize'>function.filesize</a>]: stat failed for dynamicImage.php?firstName=bob&amp;lastName=Sacamano in /www/download.php on line 19
PHP Warning:  readfile(dynamicImage.php?firstName=bob&amp;lastName=Sacamano) [<a href='function.readfile'>function.readfile</a>]: failed to open stream: No such file or directory in /www/download.php on line 25

See how it parses the & to &amp; ? But not only that. If I take out the arguments and just leave dynamicImage.php it prompts me to download the raw php file. Is there a way I can make it Run the PHP and then download the generated image? BTW My dynamicImage.php ends with:

header("Content-Type: image/JPEG");
ImageJpeg ($bg);
imagedestroy($bg);

Fixd. Ben bu suretle benim dynamicImage.php değişmiş:

if(isset($_GET['download'])){
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-image');
    header("Content-disposition: attachment; filename=dynamicImage.jpg");
}else{
    header("Content-Type: image/JPEG");    
}
ImageJpeg ($bg);
imagedestroy($bg); 

0 Cevap