ZuckBin Posté 11 Mai 2009 Partager Posté 11 Mai 2009 Bonjour, Comment stopper l'exécution d'un script après un délais bien précis? Le but du jeu est de stopper l'exécution d'un script publicitaire qui s'arrêtera si la publicité n'a pas répondu après x secondes, pour ne pas "freezer" mon site, et attendre indéfiniment le serveur de publicité dans le vide, et avoir un site bloqué! Merci. Cordialement. Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 11 Mai 2009 Partager Posté 11 Mai 2009 Tu es sûr qu'il s'agit bien de PHP ? La plupart des régies publicitaires utilisent le JavaScript. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ZuckBin Posté 11 Mai 2009 Auteur Partager Posté 11 Mai 2009 Ce sont des publicitées Javascript, mais mon intégration est en PHP, et c'est donc PHP et Mysql qui va aller dire quelle publicitées placer et afficher en fonction de ma rubrique. Je préfère le faire en PHP, pour ceux qui désactivent Javascript. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 11 Mai 2009 Partager Posté 11 Mai 2009 Le plus simple est dans ce cas de mettre les pubs dans une iframe ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
K-Ola Posté 11 Mai 2009 Partager Posté 11 Mai 2009 (modifié) Un autre solution : tu utilises ajax pour charger ta zone de publicité, indépendamment du reste du site. Si le script gérant la pub de répond pas, dans le pire des cas tu auras une div vide (ou avec un contenu par défaut) , mais cela n'empêchera pas de consulter le reste de ton site ! Edit: Je préfère le faire en PHP, pour ceux qui désactivent Javascript. Je n'avais pas vu désolé ! Modifié 11 Mai 2009 par K-Ola Lien vers le commentaire Partager sur d’autres sites More sharing options...
ZuckBin Posté 12 Mai 2009 Auteur Partager Posté 12 Mai 2009 Pour Iframe, c'est non, non valide le code, et j'aimerai bien le faire en php. En ajax, je vais peu être le faire...a voir. Lien vers le commentaire Partager sur d’autres sites More sharing options...
SStephane Posté 12 Mai 2009 Partager Posté 12 Mai 2009 (modifié) http://fr.php.net/set_time_limit pourrait éventuellement t'intéresser ? Cela dit les frames, c'est pas forcément moche pour des pubs, je suis un peu du même avis. Modifié 12 Mai 2009 par SStephane Lien vers le commentaire Partager sur d’autres sites More sharing options...
ZuckBin Posté 12 Mai 2009 Auteur Partager Posté 12 Mai 2009 (modifié) J'ai récupérer ca: // Timeout in seconds$timeout = 5;$URL="http://fr.a2dfp.net/ad?s=".$row_pub['id']."&m=js&ncb=".$a2dRandom."";$fp = fsockopen("$URL", 80, $errno, $errstr, $timeout);if ($fp) { fwrite($fp, "GET /file.php HTTP/1.0\r\n"); fwrite($fp, "Host: $URL\r\n"); fwrite($fp, "Connection: Close\r\n\r\n"); stream_set_blocking($fp, TRUE); stream_set_timeout($fp,$timeout); $info = stream_get_meta_data($fp); while ((!feof($fp)) && (!$info['timed_out'])) { $data .= fgets($fp, 4096); $info = stream_get_meta_data($fp); ob_flush; flush(); } if ($info['timed_out']) { echo "Connection Timed Out!"; } else { echo '<script type="text/javascript" src="'.$data.'"></script>'; }} mais j'ai ce message erreur: Warning: fsockopen() [function.fsockopen]: unable to connect to http://fr.a2dfp.net/ad?s=xxxxx&m=js&am...b=xxxxx:80 (Unable to find the socket transport "http" - did you forget to enable it when you configured PHP?) Une idée ? Modifié 13 Mai 2009 par olitax Lien vers le commentaire Partager sur d’autres sites More sharing options...
ZuckBin Posté 14 Mai 2009 Auteur Partager Posté 14 Mai 2009 (modifié) J'ai fini par trouver comment faire, en utilisant la librairie cURL $URL="http://example.com";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $URL);curl_setopt($ch, CURLOPT_HEADER, 1);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);$data = curl_exec($ch);curl_close($ch);if(ereg("HTTP/1.1 200 OK", $data)){echo '<script type="text/javascript" src="http://example.com"></script>';} Donner moi votre retour sur ce code Modifié 14 Mai 2009 par ZuckBin Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kioob Posté 15 Mai 2009 Partager Posté 15 Mai 2009 Si le but est juste de gérer le timeout PHP, il y a une variable pour ça : ini_set('default_socket_timeout', 3);@readfile('http://url.de.ta/pub.php'); Par contre pour ma part je ne vois pas l'intérêt de ta méthode : - site plus lent, aucun parallélisme et empêche certainement toute mise en cache de tes propres pages - l'internaute risque de ne pas être "tracké" comme il faut (IP du serveur + pas de cookie), donc tu risques de ne pas être payé Tout ça pour quoi ? - éviter d'utiliser du javascript alors qu'une grande partie des tags des régies l'impose - éviter d'utiliser une iframe parce que ce ne serait pas "valide". Tiens c'est nouveau ça... à moins que tu utilises du XHTML Strict, mode dans lequel les publicités des régies ne fonctionnent pas non plus (document.write oblige...) A mon avis tu t'embêtes pour de mauvaises raisons là. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ZuckBin Posté 18 Mai 2009 Auteur Partager Posté 18 Mai 2009 Hello, Effectivement, je suis en Xhtml strict, si tu as la méthode pour le faire en Js, je prend Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kioob Posté 18 Mai 2009 Partager Posté 18 Mai 2009 En javascript, c'est l'intégration toute simple du tag de pub via <script src="XXXX" type="XXX"></script>. PS : du XHTML "strict" avec un content-type en text/plain alors, non ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
ZuckBin Posté 19 Mai 2009 Auteur Partager Posté 19 Mai 2009 (modifié) J'ai ca comme doctype: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> et c'est bien du type text/plain Modifié 19 Mai 2009 par ZuckBin Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kioob Posté 19 Mai 2009 Partager Posté 19 Mai 2009 text/html pardon. Mais oui. Donc ça n'a pas grand chose de strict finalement Lien vers le commentaire Partager sur d’autres sites More sharing options...
ZuckBin Posté 19 Mai 2009 Auteur Partager Posté 19 Mai 2009 oui donc, ou est ce que tu veux en venir Kioob ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kioob Posté 19 Mai 2009 Partager Posté 19 Mai 2009 Bah que tu peux très bien utiliser les iframes comme suggéré par Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
ZuckBin Posté 19 Mai 2009 Auteur Partager Posté 19 Mai 2009 J'avoue ne pas comprendre ta dernière remarque, à a partir du nomment ou je vais utilisé sur ma page web une iframe, mon code ne sera plus valid, et comportera des erreurs Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 19 Mai 2009 Partager Posté 19 Mai 2009 Est-ce si important que ça ? Si tu souhaites simplement valider, utilise un autre doctype. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kioob Posté 19 Mai 2009 Partager Posté 19 Mai 2009 Je n'ai pas été très clair mais comme le dit captain_torche il te suffit de changer de doctype, vu que de toutes façons tu n'utilises pas du "vrai" XHTML. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Leonick Posté 22 Mai 2009 Partager Posté 22 Mai 2009 Hello, Effectivement, je suis en Xhtml strict, si tu as la méthode pour le faire en Js, je prend adsense, entres autres, n'est pas valide xhtml strict, donc si tu envoies ta page avec adsense en strict, tu ne verras pas les pubs affichées.et quand je parle de strict, c'est aussi, et surtout, les header envoyés en xhtml strict et non en html/text Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant