Если ваши изображения находятся в файлах, используйте функцию PHP readfile () и отправьте заголовок типа содержимого перед его выводом:
<?php
$imagePaths = array(
'1' => 'file1.png',
'2' => 'file2.png',
'3' => 'file3.png',
);
$type = $_GET['img'];
if ( isset($imagePaths[$type]) ) {
$imagePath = $imagePaths[$type];
header('Content-Type: image/png');
readfile($imagePath);
} else {
header('HTTP/1.1 404 File Not Found');
echo 'File not found.';
}
?>
EDIT:
Вы также можете встраивать свои изображения в скрипт, кодируя их, например. как Base64 , затем вставьте их как строки в PHP, а затем декодируйте их там с помощью base64_decode , чтобы получить их:
<?php
$imageData = array(
'1' => '...', // Base64-encoded data as string
...
);
$type = $_GET['img'];
if ( isset($imageData[$type]) ) {
header('Content-Type: image/png');
echo base64_decode($imageData[$type]);
} else {
header('HTTP/1.1 404 File Not Found');
echo 'File not found.';
}
?>
Вы также можете использовать PHP для кодирования изображения в командной строке. Просто запустите этот PHP-скрипт в командной строке (php script.php image1.png image2.png image3.png > output.php
), сохраните его вывод и включите его в ваш скрипт:
<?php
$imageData = array();
foreach ($argv as $index => $imagePath)
$imageData[(string)($index + 1)] = base64_encode(file_get_contents($imagePath));
echo '$imageData = '.var_export($imageData, true).';';
?>