[英]How to download multiple images through an unique php file?
我需要一個能夠從服務器上的文件夾本身下載多個圖像的php文件,每個圖像具有唯一的ID。
例如
我的服務器上有一個圖像:/home/example/public_html/multipleimage/2.png
我想通過唯一的php文件下載該圖像: http : //example.com/file.php
我將鍵入以下URL: http : //example.com/file.php?id=2並且瀏覽器將必須返回圖像。
但是... php文件應該如何? 無需通過數據庫就能完成嗎?
謝謝。
<?php
header("Content-Type: image/png");
readfile(
sprintf(
'/home/example/public_html/multipleimage/%d.png',
$_GET['id']
)
);
請參閱PHP手冊中的以下條目:
請注意,我正在將sprintf
與%d
配合使用,因此它將無提示地將任何非數字id值轉換為0,因此, ../../etc/passwd
類的惡意輸入將嘗試讀取0.png
。 如果要使用除數字以外的其他任何東西,則需要清理輸入,以防止目錄遍歷攻擊和空字節中毒(在PHP 5.3.4之前) :
我仍然不確定我是否知道你想要什么,但是事情就這樣了:
<?php
if (array_key_exists('id', $_GET) && is_numeric($_GET['id'])) {
header("Content-Type: image/png");
echo file_get_contents("/home/example/public_html/multipleimage/".$_GET['id'].".png");
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.