検索
ホームページphp教程php手册gd ライブラリの画像ダウンロード クラスは、Web ページ上のすべての画像をダウンロードするための PHP コードを実装します。
gd ライブラリの画像ダウンロード クラスは、Web ページ上のすべての画像をダウンロードするための PHP コードを実装します。Jun 13, 2016 am 11:59 AM
contentheaderphpダウンロードコード画像ダウンロードコピー成し遂げる図書館親切ウェブページ

PHP コードは次のとおりです:

コードをコピー コードは次のとおりです:


header ("コンテンツタイプ: text/html ; charset=utf-8");
if (!empty($_POST['submit'])){
$url = $_POST['url'];
//相対パスを使用して画像を取得する操作の場合
$url_fields = parse_url($url);
$main_url = $url_fields['host'];
$base_url = substr($url, 0,strrpos( $url, '/') 1);
//Web コンテンツを取得
//プロキシ サーバーを設定
$opts = array('http'=>array('request_fulluri'= >true) );
$context = stream_context_create($opts);
$content = file_get_contents($url,false,$context);
//img タグを照合し、一致する文字列をすべて保存します配列 $matches
$reg = "/gd ライブラリの画像ダウンロード クラスは、Web ページ上のすべての画像をダウンロードするための PHP コードを実装します。/i";
preg_match_all($reg, $content, $matches) ;
$count = count($matches[0]);
for ($i=0; $i/*すべての画像 URL を小文字に変換します
*$matches[1][$i] = strto lower($matches[1][$i]);
*/
//画像が相対パスの場合はフルパスに変換します
if (!strpos( 'a'.$matches[1][$i], 'http')){
//'/' は 0 番目の位置なので
if (strpos('a'. $matches[1] [$i], '/')){
$matches[1][$i] = 'http://'.$main_url.$matches[1][$i]; 🎜>}else{
$matches[1][$i] = $base_url.$matches[1][$i]
}
}
}
// 重複をフィルターします画像
$img_arr = array_unique($matches[1]);
//画像ダウンロード クラスをインスタンス化します
$getImg = new DownImage();
$url_count = count($img_arr); 🎜>for ( $i=0; $i$getImg->source = $img_arr[$i];
$getImg->save_address = './pic /';
$file = $getImg->down​​load();
}
echo "ダウンロードが完了しました!ハハ、シンプルにしてください! ";
}
class DownImage{
public $source;//リモート画像 URL
public $save_address;//ローカルアドレスを保存
public $set_extension; //画像拡張子を設定
public $quality; //画質(0~100、100が最高、デフォルトは75程度)
//ダウンロード方法(GDライブラリイメージダウンロードを選択)
public function download() {
// リモート画像情報を取得します
$info = @getimagesize($this->source);
// 画像拡張子を取得します
$mime = $info['mime'];
$type = substr(strrchr($mime, '/'), 1);
//画像タイプごとに異なる画像生成および保存関数を選択します
switch($type){
case 'jpeg':
$img_create_func = 'imagecreatefromjpeg';
$new_img_ext = 'jpg';
$image_quality = isset($this->quality); $this-> 品質 : 100;
break;
ケース 'png':
$img_save_func = 'imagepng'; ';
ブレーク;
ケース 'bmp':
$img_save_func = 'imagebmp';
ケース ' gif':
$img_create_func = 'imagegif';
$new_img_ext = 'gif';
ケース 'vnd. wap.wbmp':
$img_create_func = 'imagecreatefromwbmp';
$new_img_ext = 'bmp';
case 'xbm'; >$img_create_func = '
$img_save_func = 'imagexbm';
$new_img_ext = 'xbm';
デフォルト:
$img_save_func = ' imagejpeg';
$new_img_ext = 'jpg';
}
//拡張子が設定されているかどうかに応じてローカル ファイル名を合成します
if (isset($this->set_extension) ){
$ext = strrchr($this->source,".");
$strlen = strlen($ext); ,0,- $strlen)).'.'.$new_img_ext;
}else{
$newname = Basename($this->source);

//ローカル ファイル パスを生成します
$save_address = $this->save_address.$newname;
$img = @$img_create_func($this->source);
if (isset($image_quality))
$ save_img = @$img_save_func($img,$save_address,$image_quality);
}else{
$save_img = @$img_save_func($img,$save_address);
return $save_img;
}
?>


リモート URL アドレス:
>

実行結果は図に示すとおりです。

この例では、ダウンロードした写真は現在のディレクトリの pic フォルダーに保存されます。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
五大热门Go语言库汇总:开发必备利器五大热门Go语言库汇总:开发必备利器Feb 22, 2024 pm 02:33 PM

五大热门Go语言库汇总:开发必备利器,需要具体代码示例Go语言自从诞生以来,受到了广泛的关注和应用。作为一门新兴的高效、简洁的编程语言,Go的快速发展离不开丰富的开源库的支持。本文将介绍五大热门的Go语言库,这些库在Go开发中扮演了至关重要的角色,为开发者提供了强大的功能和便捷的开发体验。同时,为了更好地理解这些库的用途和功能,我们会结合具体的代码示例进行讲

学习Python,常用的这22个库怎能不掌握?学习Python,常用的这22个库怎能不掌握?Apr 12, 2023 am 10:25 AM

如今全球各个行业内 Python 的使用状况怎么样呢?这个问题就是我写这篇文章的初衷。我找出了22个最常用的 Python 包,希望能给你一些启发。首先我列出了最近一年内 PyPI 上下载量最高的 Python 包。我们来看看这些包的作用,它们的之间的关系,以及为什么会如此流行。1、Urllib38.93亿次下载Urllib3 是 Python 的 HTTP 客户端,它提供了许多 Python 标准库没有的功能。 线程安全 连接池 客户端 SSL/TLS 验证 使用 multipart 编码进行

轻松掌握Pillow库安装方法:指南分享轻松掌握Pillow库安装方法:指南分享Jan 17, 2024 am 08:56 AM

Pillow库是Python中一个非常强大的图像处理库,它基于PythonImagingLibrary(PIL)发展而来,并在其基础上进行了优化和扩展。Pillow库提供了丰富的图像处理功能,可以处理各种类型的图像文件,并进行图像的编辑、合并、滤镜处理等操作。本文将为大家提供一个Pillow库的安装指南,帮助你轻松掌握这个强大的图像处理工具。一、安装P

PHP8.0中的国际化库PHP8.0中的国际化库May 14, 2023 pm 05:51 PM

PHP8.0中的国际化库:UnicodeCLDR和Intl扩展随着全球化的进程,开发跨语言、跨地域的应用程序变得越来越普遍。国际化是实现这一目标的重要组成部分。在PHP8.0中,引入了UnicodeCLDR和Intl扩展,这两个组件都为开发者提供了更好的国际化支持。UnicodeCLDRUnicodeCLDR(CommonLocaleDat

XML 解析的 Java 库对比:寻找最佳解决方案XML 解析的 Java 库对比:寻找最佳解决方案Mar 09, 2024 am 09:10 AM

简介XML(可扩展标记语言)是一种用于存储和传输数据的流行格式。在Java中解析XML是许多应用程序的一个必要任务,从数据交换到文档处理。为了有效地解析XML,开发人员可以使用各种Java库。本文将比较一些最流行的XML解析库,重点关注它们的特性、功能和性能,以帮助开发人员做出明智的选择。DOM(文档对象模型)解析库JavaXMLDOMAPI:由oracle提供的标准DOM实现。它提供了一个对象模型,允许开发人员访问和操作XML文档。DocumentBuilderFactoryfactory=D

PyCharm 添加库的方法和技巧大揭秘PyCharm 添加库的方法和技巧大揭秘Feb 21, 2024 pm 10:09 PM

PyCharm添加库的方法和技巧大揭秘PyCharm是一款功能强大的Python集成开发环境,为Python开发者提供了丰富的功能和工具。在使用PyCharm进行开发的过程中,添加库是一个常见的需求。本文将详细介绍PyCharm添加库的方法和技巧,包括通过PyCharm自带的功能和使用pip工具安装库。一、通过PyCharm自

如何使用工具和库来优化C++程序?如何使用工具和库来优化C++程序?May 08, 2024 pm 05:09 PM

现代C++开发中,利用工具和库进行优化至关重要。Valgrind、Perf和LLDB等工具可识别瓶颈、测量性能并进行调试。Eigen、Boost和OpenCV等库可提升线性代数、网络I/O和计算机视觉等领域的效率。例如,使用Eigen可优化矩阵乘法,Perf可分析程序性能,Boost::Asio可实现高效网络I/O。

uniapp实现如何使用图片裁剪和压缩库实现图片处理功能uniapp实现如何使用图片裁剪和压缩库实现图片处理功能Oct 20, 2023 am 11:40 AM

uniapp实现如何使用图片裁剪和压缩库实现图片处理功能在开发移动应用程序时,经常会涉及到图片处理的需求,如图片裁剪和压缩。针对这些需求,uniapp提供了丰富的插件和组件,使得开发者可以方便地实现图片处理功能。本文将介绍如何使用uniapp中的图片裁剪和压缩库实现图片处理功能,并提供相应的代码示例。图片裁剪图片裁剪是指根据需要,将图片的一部分区域剪切出来。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)