導航:首頁 > 編程語言 > phpheader下載圖片

phpheader下載圖片

發布時間:2022-06-11 02:40:09

php如何實現圖片下載

我想告訴你,除了顯示網址,然後「另存為」或者用迅雷之類的下載外,php真的還無法下載到本地,好像是因為許可權什麼的。
我琢磨了好久都不可能下載到本地,除非你的伺服器是建立在本地的。

我自己寫了一個函數,用來拷貝圖片的,用()不行。
注意,目的為網址,你可以看看,其他文件格式同理。
//----------------------拷貝圖片(包括網路圖片)到指定網址------------------
//-------適用於圖片類型包括:jpeg、gif、png-----------
function down_image($url1,$url2){//---$url1為源網址,$url2為目標網址---
$url1_info=pathinfo($url1);
$url2_info=pathinfo($url2);
$msg="拷貝成功!";
if($url1_info[extension]==$url2_info[extension]){
switch ($url1_info[extension]){
case "jpg":
$img=imagecreatefromjpeg($url1);
imagejpeg($img, $url2);
break;
case "gif":
$img=imagecreatefromgif($url1);
imagegif($img, $url2);
break;
case "png":
$img=imagecreatefrompng($url1);
imagepng($img, $url2);
break;
}
}else{
$msg="文件類型不正確,拷貝失敗";
}
return $msg;
}

② php 怎麼從網上下載圖片到本地

我想告訴你,除了顯示網址,然後「另存為」或者用迅雷之類的下載外,php真的還無法下載到本地,好像是因為許可權什麼的。
我琢磨了好久都不可能下載到本地,除非你的伺服器是建立在本地的。

我自己寫了一個函數,用來拷貝圖片的,用()不行。
你可以看看,其他文件格式同理。
//----------------------拷貝圖片(包括網路圖片)到指定網址------------------
//-------適用於圖片類型包括:jpeg、gif、png-----------
function down_image($url1,$url2){//---$url1為源網址,$url2為目標網址---
$url1_info=pathinfo($url1);
$url2_info=pathinfo($url2);
$msg="拷貝成功!";
if($url1_info[extension]==$url2_info[extension]){
switch ($url1_info[extension]){
case "jpg":
$img=imagecreatefromjpeg($url1);
imagejpeg($img, $url2);
break;
case "gif":
$img=imagecreatefromgif($url1);
imagegif($img, $url2);
break;
case "png":
$img=imagecreatefrompng($url1);
imagepng($img, $url2);
break;
}
}else{
$msg="文件類型不正確,拷貝失敗";
}
return $msg;
}

③ php利用表頭來下載文件,利用header()類下載文件

手冊上不都有嗎:

<?php
$file='monkey.gif';

if(file_exists($file)){
header('Content-Description:FileTransfer');
header('Content-Type:application/octet-stream');
header('Content-Disposition:attachment;filename='.basename($file));
header('Content-Transfer-Encoding:binary');
header('Expires:0');
header('Cache-Control:must-revalidate');
header('Pragma:public');
header('Content-Length:'.filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>

④ php如何實現下載圖片

if(isset($_GET[filename])){

$filename=$_GET[filename];//獲取參數
header('Content-type: image/jpeg');
header("Content-Disposition: attachment; filename='$filename'");
//注意:header函數前確保沒有任何輸出

exit;//結束程序
}

⑤ PHP 怎樣實現圖片下載,而不是打開

代碼如下:
<?php

//對函數的說明
//參數說明 $file_name 文件名
//$file_sub_dir: 下載文件的子路徑 '"/xxx/xxx/"
function down_file($file_name,$file_sub_dir){

//死去活來,演示下載一個圖片.
//如果文件是中文.

//原因 php文件函數,比較古老,需要對中文轉碼 gb2312
$file_name=iconv("utf-8","gb2312",$file_name);

//絕對路徑
$file_path=$_SERVER['DOCUMENT_ROOT'][
].$file_sub_dir.$file_name;

//1.打開文件
if(!file_exists($file_path)){
echo "文件不存在!";
return ;
}

$fp=fopen($file_path,"r");
//2.處理文件
//獲取下載文件的大小
$file_size=filesize($file_path);

if($file_size>30){

echo "<script language='javascript'>window.alert('過大')</script>";
return ;
}

//返回的文件
header("Content-type: application/octet-stream");
//按照位元組大小返回
header("Accept-Ranges: bytes");
//返迴文件大小
header("Accept-Length: $file_size");
//這里客戶端的彈出對話框,對應的文件名
header("Content-Disposition: attachment; filename=".$file_name);

//向客戶端回送數據

$buffer=1024;
//為了下載的安全,我們最好做一個文件位元組讀取計數器
$file_count=0;
//這句話用於判斷文件是否結束
while(!feof($fp) && ($file_size-$file_count>0) ){
$file_data=fread($fp,$buffer);
//統計讀了多少個位元組
$file_count+=$buffer;
//把部分數據回送給瀏覽器;
echo $file_data;
}

//關閉文件
fclose($fp);

}

//測試函數是否可用
down_file("順平.jpg","/http/down/");

?>

⑥ 我用PHP測試文件下載功能,但是下載下來的圖片卻總是損壞的,代碼如下:

<?php
header("Content-type:image/pjpeg");
echofile_get_contents("./201404/1.jpg");
?>

⑦ PHP如何實現圖片的下載,下面的圖片路徑可以直接打開,但是下載後打開就文件損毀或損壞。

⑧ php或者js實現網頁中圖片點擊能夠直接下載

header("Content-type: image/jpeg");
header("Content-Disposition: attachment; filename={$filename}");
header("Content-length: " . filesize($file));
readfile($file);

⑨ 為什麼我php用header下載圖片,打開是空的,我看到你解決了,求幫助

functioncurlDownloadRemote($remote,$local){
$curl=curl_init($remote);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$imageData=curl_exec($curl);
curl_close($curl);
$dir=dirname($local);
if(!is_dir($dir)){
@mkdir($dir,0755,true);
}
$tp=@fopen($local,'w');
fwrite($tp,$imageData);
fclose($tp);
}

⑩ php中怎麼實現文件下載功能

兩種方法:

1.直接做個超鏈接,地址為文件的地址

<ahref="文件地址">下載</a>

2.流輸出

<?php

$file=fopen('文件地址',"r");

header("Content-Type:application/octet-stream");

header("Accept-Ranges:bytes");

header("Accept-Length:".filesize('文件地址'));

header("Content-Disposition:attachment;filename=文件名稱");

echofread($file,filesize('文件地址'));

fclose($file);

?>

推薦第二種

因為第一種方法只能下載瀏覽器不能解析的文件,比如rar啊,腳本文件之類。如果文件是圖片或者txt文檔,就會直接在瀏覽器中打開。

而第二種方法是直接輸出的文件流,不存在上述問題。

你可以檢查一下你傳值過來的路徑是否正確,還有,流輸出後面不要再進行任何操作了。

拓展資料:

集成開發環境是一種集成了軟體開發過程中所需主要工具的集成開發環境,其功能包括但不僅限於代碼高亮、代碼補全、調試、構建、版本控制等。一些常見的PHP IDEs如下:

PHP的特性包括:

1. PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。

2. PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比,

PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;

PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。

3. PHP支持幾乎所有流行的資料庫以及操作系統。

4. 最重要的是PHP可以用C、C++進行程序的擴展!

參考資料:網路:PHP

閱讀全文

與phpheader下載圖片相關的資料

熱點內容
氣動隔膜式壓縮機 瀏覽:470
linux如何修改主機名 瀏覽:104
單片機游標上下移動 瀏覽:526
數據加密驗證 瀏覽:106
程序員被激怒 瀏覽:891
winxp找不到伺服器dns地址 瀏覽:842
以文本文件的格式保存考生文件夾 瀏覽:41
編譯原理文法分為幾類 瀏覽:568
JAVA基礎學python要多久 瀏覽:74
java流量控制 瀏覽:934
java實現多重繼承 瀏覽:705
票據通加密狗怎麼在新系統上使用 瀏覽:793
航模加密狗連接電腦 瀏覽:473
好用的匯編語言編譯器 瀏覽:863
自己編譯安卓虛擬機 瀏覽:911
中國的古代演算法 瀏覽:656
上層怎麼看程序員 瀏覽:25
程序員便當排骨 瀏覽:855
如何禁用安卓全家桶 瀏覽:261
oa伺服器異常怎麼辦 瀏覽:73