Script check lien

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Script check lien

Re: Script check lien

par Invité » 06 août 2011, 20:15

Salam
je pense pas que sa c'est une question elle est comme un mini projet :roll:

Script check lien

par tyty63 » 05 août 2011, 00:34

Bonsoir,

J'ai créé un script de check de liens free et multiupload. Tout marche quand il s'agit de checker les liens free mais dès que je dois checker les liens multiuploads sa s’emmêle les pinceaux. :cry:

Mon script:
<?php
$liens = htmlspecialchars($_POST["contenu"]);
$donnees = explode("\n", $liens);
foreach($donnees AS $lien)
{
	if ( preg_match('#http://dl.free.fr/#i', $lien) or preg_match('#http://dl.free.fr/?getfile#i', $lien) ) // detecte les liens free
		{
			$page = file_get_contents($lien); // charge la page
				if ( preg_match('#Fichier inexistant#i', $page) or  preg_match('#ERREUR 404#i', $page))
					{
						echo '<span style="color:red;"><b>/!\Lien Invalide - <a href="'.$lien.'" class="lien_ext">'.$lien.'</a></span><br />';
					}
				else
					{
						$decoupe = explode('<td style="text-align: right; padding: 2px; border: 1px solid #ffffff;">', $page);// recupere le nom du fichier
						$decoupe = explode('</td>', $decoupe[1]);// recupere le nom du fichier
						echo '<span style="color:green;"><b>Valide</b></span> - <span style="color:blue;">Nom du fichier</span> : <a href="'.$lien.'" class="lien_ext">'.$decoupe[0].'</a><br />'; //on affiche lien valide plus le lien
					}
		}
		
	elseif (preg_match('#http://www.multiupload.com#i', $lien)) // dectecte un lien multiupload
		{
			$page = implode('', file($lien));
			$decoupe = explode('<div style="position:absolute; left:5px; top:40px; width:788px; text-align:center; font-size:16px; color:#000000; font-weight:bold; text-align:left;">', $page);
			$decoupe = explode('</div>', $decoupe[1]);
			$dead_link = '<center>Unfortunately, the link you have clicked is not available.</center>';
				if ( $decoupe[0] == $dead_link or preg_match('#Unfortunately, the link you have clicked is not available#i', $page) or preg_match('#not available#i', $page))
					{
						echo '<span style="color:red;"><b>/!\Lien Invalide - <a href="'.$lien.'" class="lien_ext">'.$lien.'</a></span><br />';
					}
				else
					{
						$decoupe = explode('<div style="position:absolute; left:5px; top:35px; width:788px; text-align:center; font-size:19px; color:#000000;">', $page);// recupere le nom du fichier
						$decoupe = explode(' <font style="color:#666666;">', $decoupe[1]);// recupere le nom du fichier
						echo $page;
						echo '<span style="color:green;"><b>Valide</b></span> - <span style="color:blue;">Nom du fichier</span> : <a href="'.$lien.'" class="lien_ext">'.$decoupe[0].'</a><br />'; //on affiche lien valide plus le lien
					}
		}
		
	else
		{
			echo '<span style="color:red;"><b>Lien Invalide - <a href="'.$lien.'" class="lien_ext">'.$lien.'</a></span><br />';//on affiche que le lien n'est pas valide
		}
}
?>
Alors quand je met plusieurs liens multiupload je me retrouve avec ceci :
Valide - Nom du fichier :
Valide - Nom du fichier :
Valide - Nom du fichier :
Valide - Nom du fichier : [SSF] One Piece - 508 Vostfr SD [720x400 XviD MP3].avi
En fait les 2 premiers liens sont dead et le 3èmes et valide mais il ne m'affiche pas le nom du fichier.

les liens tester sont :
http://www.multiupload.com/CL9F4T4MEP
http://www.multiupload.com/CL9F4d4MEP
http://www.multiupload.com/6B5KPKOUQR
http://www.multiupload.com/OLZUECKRSJ

Du coup j'ai placé un "echo $page;" dans le else du multiupload et la a ma grande surprise : il me chargeait pas les bonnes pages sauf la dernière.

L'exemple du bonne page et celui la : http://www.multiupload.com/CL9F4T4MEP
et avec le echo il me charge ce type de page : Image

Je remercie tous ceux qui réponderont :P