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.
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 :En fait les 2 premiers liens sont dead et le 3èmes et valide mais il ne m'affiche pas le nom du fichier.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
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 :

Je remercie tous ceux qui réponderont