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;
}
}
?>