Récupérer première image d'une url
Résolu/Fermé
matiou34
Messages postés
198
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
27 janvier 2015
-
23 sept. 2012 à 05:21
matiou34 Messages postés 198 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 27 janvier 2015 - 23 sept. 2012 à 19:53
matiou34 Messages postés 198 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 27 janvier 2015 - 23 sept. 2012 à 19:53
A voir également:
- Récupérer première image d'une url
- Lien url - Guide
- Recuperer video youtube - Guide
- Recuperer message whatsapp - Guide
- Comment récupérer un compte facebook piraté - Guide
- Image iso - Guide
2 réponses
Utilisateur anonyme
23 sept. 2012 à 14:08
23 sept. 2012 à 14:08
C'est très simple, il suffit de parser le code source du site.
Tu peux détecter les balises meta ou dans ton cas les balises images.
A+
Tu peux détecter les balises meta ou dans ton cas les balises images.
A+
matiou34
Messages postés
198
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
27 janvier 2015
4
23 sept. 2012 à 19:53
23 sept. 2012 à 19:53
J'ai quelque chose comme ça :
Le première c'est que ça m'affiche toutes images faisant plus de 200px. Hors je souhaite seulement récupérer la première.
Ensuite, le script (en localhost) met vraiment longtemps à s'exécuter. Plus l'url contient des images, plus c'est long. Est-ce dû au fait que je sois en localhost ou est-ce que c'est réellement long à exécuter car il doit parser toute la page ?
Comment pourrais-je l'alléger ?
Merci !
$url = $_POST["url"]; function fetch_record($path) { $file = fopen($path, "r"); if (!$file) { exit("Problem occured"); } $data = ''; while (!feof($file)) { $data .= fgets($file, 1024); } return $data; } $string = fetch_record($url); // fetch images $image_regex = '/<img[^>]*'.'src=[\"|\'](.*)[\"|\']/Ui'; preg_match_all($image_regex, $string, $img, PREG_PATTERN_ORDER); $images_array = $img[1]; $k=1; for ($i=0;$i<=sizeof($images_array);$i++) { if(@$images_array[$i]) { if(@getimagesize(@$images_array[$i])) { list($width, $height, $type, $attr) = getimagesize(@$images_array[$i]); if($width >= 200 && $height >= 50 ){ echo "<center><img src='".@$images_array[$i]."' max-width='520' id='".$k."' ></center>"; $k++; } } } }
Le première c'est que ça m'affiche toutes images faisant plus de 200px. Hors je souhaite seulement récupérer la première.
Ensuite, le script (en localhost) met vraiment longtemps à s'exécuter. Plus l'url contient des images, plus c'est long. Est-ce dû au fait que je sois en localhost ou est-ce que c'est réellement long à exécuter car il doit parser toute la page ?
Comment pourrais-je l'alléger ?
Merci !