『壹』 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里怎麼把網上的圖片保存在本地
火車頭採集,採集俠。自己寫也可以,寫正則抓圖片地址,然後用file_get_contents函數讀取內容,寫文件。
『叄』 php如何下載動態圖片保存到本地
php 遠程下載文件
function http($url, $file="", $timeout=60) {
$file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;
$dir = pathinfo($file,PATHINFO_DIRNAME);
!is_dir($dir) && @mkdir($dir,0755,true);
$url = str_replace(" ","%20",$url);
if(function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$temp = curl_exec($ch);
if(@file_put_contents($file, $temp) && !curl_error($ch)) {
return $file;
} else {
return false;
}
} else {
$opts = array(
"http"=>array(
"method"=>"GET",
"header"=>"",
"timeout"=>$timeout)
);
$context = stream_context_create($opts);
if(@($url, $file, $context)) {
//$http_response_header
return $file;
} else {
return false;
}
}
}
『肆』 php如何採集微信文章的同時獲取其中圖片的地址並下載本地化
給個簡單的例子,僅僅是獲取了遠程圖片哦
<?php
$url='';這是你的微信網址
$con=file_get_contents("$url");
$pattern="/<[img|IMG].*?src=['|"](.*?(?:[.gif|.jpg|.png]))['|"].*?[/]?>/";
preg_match_all($pattern,$con,$match);
for($i=0;$<count($match[1]);$i++){
$pic=file_get_content($match[1][$i]);
$name_arr=explode('/',$pic);
$n=count($name_arr);
file_put_content($name_arr[$n],$pic);
}
沒做測試,你測試一下吧
『伍』 php怎麼獲取本地圖片信息
用glob很方便就可獲得。
$img = array('gif','png','jpg');//所有圖片的後綴名
$dir = 'data/';//文件夾名稱
$pic = array();
foreach($img as $k=>$v)
{
$pattern = $dir.'*.'.$v;
$all = glob($pattern);
$pic = array_merge($pic,$all);
}
foreach($pic as $p)
{
//分行分頁顯示代碼
}
如果和圖片是同一個文件夾,那要將
$dir = 'data/';//文件夾名稱
改成
$dir = './';//文件夾名稱
『陸』 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網路圖片本地化 原圖片轉換成本地化後的圖片
用網路的UEditor其中有個遠程圖片抓取交互,可以實現你的要求。
1、遠程抓取原理
圖片遠程抓取是指在插入本地域名之外的圖片鏈接地址時,由伺服器將這些外部圖片抓取到本地伺服器保存的一個功能。實現原理為在編輯器中向伺服器發送包含所有外域圖片地址的ajax請求,然後由伺服器在後端抓取保存後返回圖片地址給編輯器,再由編輯器完成外域地址和本地地址的替換工作。
//是否開啟遠程圖片抓取
catchRemoteImageEnable:true,
//處理遠程圖片抓取的地址
catcherUrl:URL+"server/submit/php/getRemoteImage.php",
//提交到後台遠程圖片uri合集的表單名
catchFieldName:"upFile",
//圖片修正地址,同imagePath
catcherPath:fixedImagePath,
//本地頂級域名,當開啟遠程圖片抓取時,除此之外的所有其它域名下的
//圖片都將被抓取到本地
localDomain:[".com","10.81.2.114"],
2、注意事項
遠程抓取功能是否開啟可在edicot_config.js中通過配置catchRemoteImageEnable參數實現。與這個功能相關的配置還包括了遠程抓取的處理程序地址,表單域名稱,本地域和「前後端修正地址」。遠程抓取處理程序實現了依據前端提交的地址列表(使用ue_separate_ue標示符進行分隔的字元串)進行圖片抓取,然後返回地址列表給客戶端的功能。
前後台交互數據格式樣例:(URL1,URL2,URL3,URL4)
URL1ue_separate_ueURL2ue_separate_ueURL3ue_separate_ueURL4
『捌』 php提交表單,怎麼讀取圖片在本地的路徑
首先瀏覽器中看到的input只是基礎的選擇本地文件來上傳的一個瀏覽器組件,你選擇文件後,裡面是會顯示文件路徑和名稱的。而只有你提交表單的時候,from中的信息才能提交到伺服器端,這時你才能從圖片的臨時目錄中獲取到你上傳的文件的臨時file。當然在你post的數據中你可以通過$_FILE來獲取相關的文件信息,比如文件名稱,文件大小之類的
『玖』 請問php如何能根據url地址拷貝該網頁的所有內容+圖片並生成一個本地文件
復制+粘貼
針對你說的無法復制問題,是不是以下情況:
1、限制右鍵選中復制?
這個問題是因為網頁腳本中有禁止滑鼠右鍵動作的腳本,很好解決,換個瀏覽器(GreenBrowser - 綠色瀏覽器)就可以了,裡面有解除滑鼠右鍵禁止功能,這樣你想怎麼復制就怎麼復制。
2、你直接用滑鼠拖曳選中?
其實,可以用快捷鍵的方式來選中,復制的,如下:
把你所要發送的網頁打開,Ctrl+A一下(這是全體選中,包括網頁的全部以及滾動條以下的內容),再Ctrl+C復制。
然後再在你要編輯的信件中Ctrl+V粘貼,這樣就能把網頁中的內容全部都寫在郵件中,包括所有的圖片鏈接,其實等於是把這個網頁都搬進了信件里,別人要想查看內容還是以網頁的形式鏈接出去的。
選擇瀏覽器上方菜單「文件」另存為
保存在你制定的文件夾內
再打開你保存的文件夾
會發現裡面有兩個文件
一是**.html
一是**.files
『拾』 php保存遠程圖片到本地
$img = file_get_contents('http://www.91cici.com/images/logo.gif');
file_put_contents('test.gif',$img);