Oppure

Loading
07/04/11 18:57
fa1212
Ciao a tutti,
avevo pensato di costruire un piccolo programma in php che data una textarea piena di link, li verificasse (nel senso di vedere se il codice http è 202 e non 404) e ne facesse una lista in un'altra textarea.
Ora i problemi sono i seguenti:
ho butta to giù del codice ma non so come far eseguire il controllo dei link e redirigerne l'output nella textarea

<html>
<head>
	<title>Link Checker</title>
</head>
<body bgcolor="black">
<h3><center><font color="white" style="font-family:Helvetica">Link Checker</fontC</center></h3>
<br>
<font color="red">Link  to check: (url of file es. http://www.mysite.com/file.rar)</font>
	<form name="tocheck" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<textarea rows="20" cols="50" onfocus="">
</textarea>
		<input type="submit" value="Check"/>
		</form>
	<br>
<font color="lime">Link checked:</font>
	<form name="checked" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<textarea rows="20" cols="50" style="color:green" onfocus="">
<?php echo $oki;?>
</textarea>
	<input disabled type="submit" value="Insert in Database"/>
	</form>
</body>
</html>
<?php
$total=$_POST["textarea"];
$arr=explode("\n",$total);

for($x=0;$x<count($arr);$x++){
	echo $arr[$x];
} 
?>
Ultima modifica effettuata da fa1212 07/04/11 18:58
aaa
07/04/11 23:10
Thejuster
non ho capito cosa intendi per
(nel senso di vedere se il codice http è 202 e non 404)

PS:
sei il cugiono del ciaffo?
intendo il caffio supremo f1192 :-|
mire.forumfree.it/ - Mire Engine
C# UI Designer
08/04/11 17:16
fa1212
nel senso che controllando il link tengo solo quelli che danno come risposta http il codice 202 e non 404 (page not found), almeno, così ho pensato io...

mi dispiace deluderti ma non sono il cugino! xD
aaa
08/04/11 17:45
Thejuster
puoi usare diversi sistemi uno di questi è


function page_exists($url){
  $parts=parse_url($url);
  if(!$parts) return false; //Se l'url inserito e fatto a casaccio
 
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
 

  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
 

  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 
  
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
  curl_setopt($ch, CURLOPT_TIMEOUT, 20);
 
  
  curl_setopt($ch, CURLOPT_NOBODY, true);
  curl_setopt($ch, CURLOPT_HEADER, true);

  if($parts['scheme']=='https'){
  	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  1);
  	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  }
 
  $response = curl_exec($ch);
  curl_close($ch);

  if(preg_match('/HTTP\/1\.\d+\s+(\d+)/', $response, $matches)){
  	$code=intval($matches[1]);
  } else {
  	return false;
  };
 
  // Mostra se la pagina realmente esiste ritorna 200 altrimenti 400
  return (($code>=200) && ($code<400));	
}




Altro modo più semplice


 $url = 'http://www.prova.it';
$handle = @fopen($url,'r');
if($handle !== false){
   echo "Pagina Esiste"; //quindi 202
}  else {
   echo "Pagina Inesistente"; //Quindi 404
}

mire.forumfree.it/ - Mire Engine
C# UI Designer
08/04/11 18:41
fa1212
grazie mille, ora ho però un problema, non riesco a recuperare tutti i link che inserisco nella prima textarea, vengono passati come post ma pare che il mio while non riesca a estrarli dall'array, che diamine di castroneria devo aver scritto? xD:pat:
aaa
13/04/11 20:29
fa1212
hoi raga, non so più dove sbattere la testa; non funziona nulla:
-l'html non invia i dati della textarea al php
-il php non divide le linee ricevute in un array

Perfavore, datemi una mano!
aaa