Heim > Backend-Entwicklung > PHP-Tutorial > Die Bild-Download-Klasse der GD-Bibliothek implementiert den PHP-Code zum Herunterladen aller Bilder auf der Webseite

Die Bild-Download-Klasse der GD-Bibliothek implementiert den PHP-Code zum Herunterladen aller Bilder auf der Webseite

高洛峰
Freigeben: 2023-03-02 16:50:02
Original
1157 Leute haben es durchsucht

Der PHP-Code lautet wie folgt:
Kopieren Sie den Code. Der Code lautet wie folgt:
header("Content-type:text/html ; charset=utf-8") ;
if (! empty($_POST['submit'])){
$url = $_POST['url']; = parse_url($ url);
$main_url = $url_fields['host'];
$base_url = substr($url,0,strrpos($url, '/')+1); //Den Webseiteninhalt abrufen
/Proxyserver festlegen
$opts = array('http'=>array('request_fulluri'=>true));
$context = stream_context_create($ opts);
$content = file_get_contents($url,false,$context);
//Ordnen Sie das img-Tag zu und speichern Sie alle passenden Zeichenfolgen im Array $matches
$reg = "//i";
preg_match_all($reg, $content, $matches);
$count = count($matches[0]) ;
for ( $i=0; $i<$count; $i++){
/*Konvertieren Sie die URLs aller Bilder in Kleinbuchstaben
*$matches[1][$i] = strtolower( $matches[1][ $i]);
*/
//Wenn das Bild ein relativer Pfad ist, konvertieren Sie es in den vollständigen Pfad
if (!strpos('a'.$matches[ 1][$i], 'http' )){
//Weil '/' die 0. Position ist
if (strpos('a'.$matches[1][$i], '/' )){
$matches[ 1][$i] = 'http://'.$main_url.$matches[1][$i]
}else{
$matches[1] [$i] = $base_url.$ matches[1][$i];
}
}
}
//Duplikatbilder filtern
$img_arr = array_unique($matches[1 ]);
// Bild-Download-Klasse instanziieren
$getImg = new DownImage();
$url_count = count($img_arr);
for ($i=0; $i<$url_count ; $i++){
$getImg->source = $img_arr[$i];
$getImg->save_address = './pic/'; download();
}
echo „Download abgeschlossen! Haha, halte es einfach! ";
}
class DownImage{
public $source;//Remote-Bild-URL
public $save_address;//Lokale Adresse speichern
public $set_extension; //Bilderweiterung festlegen
public $quality; //Die Qualität des Bildes (0~100, 100 ist die beste, der Standardwert liegt bei etwa 75)
//Download-Methode (Download der GD-Bibliothek auswählen)
public function download() {
// Holen Sie sich Remote-Bildinformationen
$info = @getimagesize($this->source); 🎜>$type = substr(strrchr($mime, '/'), 1);
//Wählen Sie verschiedene Bildgenerierungs- und Speicherfunktionen für verschiedene Bildtypen aus
switch($type){
case ' jpeg':
$img_create_func = 'imagecreatefromjpeg';
$new_img_ext = 'jpg';
$image_quality = isset($this->quality) ? this-> qualität : 100;
case 'png':
$img_save_func = 'imagepng'; ;
break;
$img_create_func = 'imagecreatefrombmp';
$new_img_ext = 'bmp'; 🎜>case 'gif':
$img_create_func = 'imagecreatefromgif';
$new_img_ext = 'gif';
case 'vnd.wap .wbmp':
$img_create_func = 'imagecreatefromwbmp';
$new_img_ext = 'bmp';
case 'xbm':
$img_create_func = 'imagecreatefromxbm';
$new_img_ext = 'xbm';
default:
$img_create_func = 'imagexbm'; $img_save_func = ' imagejpeg';
$new_img_ext = 'jpg'; set_extension)){
$ext = strrchr($this->source,".");
$strlen = strlen($ext);
$newname = basename(substr($this-> ;source,0,- $strlen)).'.'.$new_img_ext
}else{
$newname = basename($this->source);

//Lokalen Dateipfad generieren
$save_address = $this->save_address.$newname;
$img = @$img_create_func($this->source); ){
$ save_img = @$img_save_func($img,$save_address,$image_quality);
}else{
$save_img = @$img_save_func($img,$save_address);
}
return $save_img;
}
}
?>

;input type="submit" name="submit" value="Alle Bilder auf dieser Seite herunterladen" />

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage