① php 把圖片下載本地保存到指定目錄中
/*
*@$urlstring遠程圖片地址
*@$dirstring目錄,可選,默認當前目錄(相對路徑)
*@$filenamestring新文件名,可選
*/
functionGrabImage($url,$dir='',$filename=''){
if(empty($url)){
returnfalse;
}
$ext=strrchr($url,'.');
if($ext!='.gif'&&$ext!=".jpg"&&$ext!=".bmp"){
echo"格式不支持!";
returnfalse;
}
//為空就當前目錄
if(empty($dir))$dir='./';
//
$dir=realpath($dir);
//目錄+文件
$filename=$dir.(empty($filename)?'/'.time().$ext:'/'.$filename);
//開始捕捉
ob_start();
readfile($url);
$img=ob_get_contents();
ob_end_clean();
$size=strlen($img);
$fp2=fopen($filename,"a");
fwrite($fp2,$img);
fclose($fp2);
return$filename;
}
//測試
GrabImage("此處網址/1.jpg","as.gif");
//PS:目錄存在,許可權判斷,自創建等自己應該知道!
//個人喜歡絕對路徑所以就那麼寫了
② php如何實現下載圖片
if(isset($_GET[filename])){
$filename=$_GET[filename];//獲取參數
header('Content-type: image/jpeg');
header("Content-Disposition: attachment; filename='$filename'");
//注意:header函數前確保沒有任何輸出
exit;//結束程序
}
③ 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批量下載圖片文件代碼: 能不能說一說上具體怎樣實現
比如說有個style.css 裡面有a.jpg b.jpg等圖片文件 。
程序讀取sytle.css里的各個圖處的路徑,即 .../a.jpg , ..../b.jpg 然後讀到一個數組里。
再遍歷這個數組,找到每一個圖片,下載下來。
就這樣簡單,希望能幫到你,^-^
⑤ PHP代碼如下,怎麼循環下載多張圖片
你這樣當然不行啦,你這相當於把多個圖片合在一起然後一次性發送給瀏覽器啊,程序不出錯就已經萬幸了。應該與客戶端(瀏覽器)有個交互過程才行,發送一個圖片後,瀏覽器接收到圖片,然後再次發送下一個圖片的請求,依次循環。
⑥ 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中如何下載圖片
直接用
$img=file_get_contents("圖片地址");
file_put_contents("test.jpg",$img);//將圖片保存成test.jpg