當前位置:首頁 » 編程語言 » php把圖片保存到本地

php把圖片保存到本地

發布時間: 2024-11-21 15:09:44

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是採用二進制形式存儲圖片及讀取顯示的,首先通過代碼創建數據表,然後上傳圖片伺服器再通過瀏覽器顯示,具體編程代碼舉例:

1、首先需要創建數據表,具體代碼如下圖所示。

⑶ 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代碼保存遠程圖片到本地,出現重復建立文件夾,是怎麼回事出現嵌套建立文件夾

沒用過php,但如果出現這個問題就一定是if(file_exists($fname))判斷出的錯,試試將
$fname='yong/'.$id;改成
$fname='/yong/'.$id;試試看

或者要檢查的話,就在if(file_exists($fname)){ 上面加一行輸出一下file_exists($fname)看看每次判斷的結果。

⑸ php 怎麼上傳完圖片之後,給這個圖片打水印,並且保存在另一個文件夾

這個php中的圖片處理類完全足夠了,使用圖片水印

$groundImg = "DSC05940.jpeg";
$groundInfo = getimagesize($groundImg);
$ground_w = $groundInfo[0];
//print_r($groundInfo);
$ground_h = $groundInfo[1];
switch($groundInfo[2]){
case 1:
$ground_im = imagecreatefromgif($groundImg);
break;
case 2:
$ground_im = imagecreatefromjpeg($groundImg);
break;
case 3:
$ground_im = imagecreatefrompng($groundImg);
break;
}

$waterImg = "DSC05949.jpeg";
$imgInfo =getimagesize($waterImg);
$water_w = $imgInfo[0];
$water_w = $imgInfo[1];

switch($imgInfo[2]){
case 1:
$water_im = imagecreatefromgif($waterImg);
break;
case 2:
$water_im = imagecreatefromjpeg($waterImg);
break;
case 3:
$water_im = imagecreatefrompng($waterImg);
break;
}
image($ground_im,$water_im,100,100,0,0,500,500);
header("Content-type: image/jpeg");

imagejpeg($ground_im);

這些都很麻煩,建議使用框架,很多框架都提供了圖片處理類供使用

⑹ php 如何將多張圖片壓縮下載到本地 ,詳細一點,有案例更好!!謝謝各位了

php的壓縮方式
<?php

$zip = zip_open("/tmp/test2.zip");

if ($zip) {
while ($zip_entry = zip_read($zip)) {
echo "Name: " . zip_entry_name($zip_entry) . "\n";
echo "Actual Filesize: " . zip_entry_filesize($zip_entry) . "\n";
echo "Compressed Size: " . zip_entry_compressedsize($zip_entry) . "\n";
echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";

if (zip_entry_open($zip, $zip_entry, "r")) {
echo "File Contents:\n";
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
echo "$buf\n";

zip_entry_close($zip_entry);
}
echo "\n";

}

zip_close($zip);

}
?>
用php下載多張圖片
<?php
set_time_limit(0);//設置PHP超時時間
$aImgList = array_unique($aImgList );
foreach($aImgList as $lists) {
file_put_contents(basename($lists), file_get_contents($lists));
}
?>

熱點內容
C語言程序設計習題與實驗指導 發布:2024-11-21 18:06:57 瀏覽:546
奧德賽2022哪個配置好 發布:2024-11-21 18:06:54 瀏覽:818
java開進程 發布:2024-11-21 17:54:49 瀏覽:376
qq模擬源碼 發布:2024-11-21 17:46:31 瀏覽:718
qq音樂怎麼邊聽邊玩游戲安卓 發布:2024-11-21 17:45:50 瀏覽:919
linux文件內容查找 發布:2024-11-21 17:36:53 瀏覽:281
pythongui打包 發布:2024-11-21 17:20:42 瀏覽:207
適合存儲濃香酒有哪些 發布:2024-11-21 17:20:41 瀏覽:478
少兒計算機編程考級 發布:2024-11-21 17:07:10 瀏覽:249
上傳qq頭像很模糊怎麼辦 發布:2024-11-21 17:04:51 瀏覽:851