<?php
$lien = curl_init($getAffiche['img']); //On stocke le lien dans $lien
curl_exec($lien); //On éxécute la fonction magique
if (curl_errno($lien)) // Si il y a une erreur
{
echo "<div class="collection"><img src='http://lien.fr/empty.jpg' title=' ".$getAffiche['titre']." ' alt='' width='120' height='158'></div>";
}
else
{
echo "<div class="collection"><img src=' ".$getAffiche['image']." ' title=' ".$getAffiche['titre']." ' alt='' width='120' height='158'></div>";
}
?>
Edit : Apparemment ça fonctionne avec le @ avec le code suivant. Mais bon si ce n'est pas très correct de masquer les erreurs je ne sais pas trop si je vais laisser ça. Concrètement y a t-il un moyen de corriger l'erreur <?php
$lien = $getAffiche['img']; //image a verifier
$lien_image_empty = "./images/icons/no_affiche_film.jpg"; //image a afficher si vide
if (@getimagesize($lien)) {
echo '<div class="collection"><img src=" '.$lien.' " title=" '.$getAffiche['titre'].' " width="148" height="197" class="img-indent"></div>';
}
else
{
echo '<div class="collection"><img src=" '.$lien_image_empty.' " title=" '.$getAffiche['titre'].' " width="148" height="197" class="img-indent"></div>';
}
?>Pas exactement ! Il faut bien lire toutes les sources qui te sont données.D'accord merci pour votre aide. Le problème c'est qu'avec Ascla on a essayé le code de or1 mais que ça ne fonctionnait pas.
Rajoute la condition pour vérifier si l'url existe bel et bien.un code pour avoir le code de retour d'une url :
http://stackoverflow.com/questions/4084 ... 404-in-php
Donc si l'on ajoute ça au code :$handle = curl_init($url); curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE); /* Get the HTML or whatever is linked in $url. */ $response = curl_exec($handle); /* Check for 404 (file not found). */ $httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE); if($httpCode == 404) { /* Handle 404 here. */ } curl_close($handle); /* Handle $response here. */
<?php
$lien = $getAffiche['img']; //image a verifier
$lien_image_empty = "http://lien de l'image vide.jpg"; //image a afficher si vide
$handle = curl_init($lien);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE);
/* Get the HTML or whatever is linked in $url. */
$response = curl_exec($handle);
/* Check for 404 (file not found). */
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
if($httpCode == 404) {
/* Handle 404 here. */
echo "<div class="collection"><img src=' ".$lien_image_empty." ' title=' ".$getAffiche['titre']." ' alt='' width='120' height='158'></div>";
}
else
{
$img = getimagesize($lien);
if ($img[1] > 2) {
echo "<div class="collection"><img src=' ".$lien." ' title=' ".$getAffiche['titre']." ' alt='' width='120' height='158'></div>";
}
else
{
echo "<div class="collection"><img src=' ".$lien_image_empty." ' title=' ".$getAffiche['titre']." ' alt='' width='120' height='158'></div>";
}
}
curl_close($handle);
?>
Dans ce cas là on a une double sécurité (qui je pense n'est pas nécéssaire) mais ça pourrait très bien être le même résultat sans le getimagesize. À tester !<?php
$stmt = $bdd->prepare("SELECT id, titre, img FROM `film` WHERE `active` = '1' ORDER BY `id` ASC LIMIT 0,20");
if (!$stmt->execute()) {
echo 'ERREUR';
exit; //pas obligatoire
}
while ($getAffiche = $stmt->fetch()) {
<div class="collection">
<img src="<?=$getAffiche ['img']; ?>" title="<?=$getAffiche ['titre']; ?>" alt="" width="120" height="158">
</div>
}
?>
Faut il juste reprendre la fonction que tu m'as donné ci dessus ? merci encore en tout cas ! Tu as juste à créer une boucle qui parcourt tous les liens de ta bdd, et lorsque tu reçois un message 404, tu effectues la modification désirée.$handle = curl_init($url); curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE); /* Get the HTML or whatever is linked in $url. */ $response = curl_exec($handle); /* Check for 404 (file not found). */ $httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE); if($httpCode == 404) { /* Handle 404 here. */ } curl_close($handle); /* Handle $response here. */
<?php
$stmt = $bdd->prepare("SELECT id, titre, img FROM `fiche_film` WHERE `active` = '1' ORDER BY `id` ASC LIMIT 0,20");
if (!$stmt->execute()) {
echo 'ERREUR';
exit; //pas obligatoire
}
while ($getAffiche = $stmt->fetch()) {?>
<?php
$lien = $getAffiche['img']; //image a verifier
$lien_image_empty = "./images/icons/no_affiche_film.jpg"; //image a afficher si vide
$handle = curl_init($lien);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE);
/* Get the HTML or whatever is linked in $url. */
$response = curl_exec($handle);
/* Check for 404 (file not found). */
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
if($httpCode == 404) {
/* Handle 404 here. */
echo '<div class="collection"><img src=" '.$lien_image_empty.' " title=" '.$getAffiche['titre'].' " width="148" height="197" class="img-indent"></div>';
}
curl_close($handle);
/* Handle $response here. */?>
<?php } ?>