簡體   English   中英

header('Content-Type: image/jpeg') 不適用於 Firefox

[英]header('Content-Type: image/jpeg') doesn't work with Firefox

我嘗試在我的網頁上查看 imagefilter() 的預覽。 為此,我使用了一個名為“image_effect.php”的輔助頁面。 這是代碼:

<?php
$dir = 'C:\xampp\htdocs\Sviluppare siti web con PHP6, Apache, MySQL\Vari ed Esercizi\images';

if(isset($_GET['id']) && ctype_digit($_GET['id']) && file_exists($dir . '/' . $_GET['id'] . '.jpg')) {
    $image = imagecreatefromjpeg($dir . '/' . $_GET['id'] . '.jpg');
} else {
    die("Invalid image specified");
}

$effect = (isset($_GET['e'])) ? $_GET['e'] : -1;
switch ($effect) {
    case IMG_FILTER_NEGATE:
        imagefilter($image, IMG_FILTER_NEGATE);
        break;
    case IMG_FILTER_GRAYSCALE:
        imagefilter($image, IMG_FILTER_GRAYSCALE);
        break;
    case IMG_FILTER_EMBOSS:
        imagefilter($image, IMG_FILTER_EMBOSS);
        break;
    case IMG_FILTER_GAUSSIAN_BLUR:
        imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
        break;
}

header('Content-Type: image/jpeg');
imagejpeg($image, '', 100);
?>

顯然,使用頁面 image_effect.php 我可以看到效果而無需覆蓋保存在“圖像”中的圖像。

目錄$dir是正確的,文件名是$_GET['id'].jpg 如果我在第一頁上使用預覽 function 我看不到圖像,如果我直接打開 image_effect.php 這是結果:

L’immagine “http://localhost/Sviluppare%20siti%20web%20con%20PHP6,%20Apache,%20MySQL/Vari%20ed%20Esercizi/image_effect.php?id=1&e=1” non può essere visualizzata poiché contiene degli errori.

相反,如果我保存有效果的圖像而不顯示預覽,我可以正確地看到圖像。

這是在我的第一頁上顯示圖像的代碼:

<?php
if ($_POST['submit'] == 'Upload' || $_POST['submit'] == 'Save') {
    $imagename = 'images/' . $image_id . '.jpg';
} else {
    $imagename = 'image_effect.php?id=' . $image_id . '&e=' . $_POST['effect'];
}
?>
<img src="<?php echo $imagename; ?>" style="float: left;">

抱歉我的英語不好,感謝您的幫助。

我解決了。 問題是 function

imagejpeg($image, '', 100);

正確的形式是

imagejpeg($image);

或者

imagejpeg($image, NULL, 100);

如果我使用它,它工作正常。

function側的文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM