Post “just for me” come tempo fa nel caso di XSLT, giusto per ricordarmi uno script e qualora servisse a qualcuno tanto meglio.
Avevo bisogno di uno script molto spartano che leggesse da un database il path, levasse eventuali spazi all’inizio e alla fine, convertisse gli altri spazi in underscore ( _ ), nei casi di modifica del filename lo aggiornasse nel database e infine avevo bisogno di controllare se i link inseriti in questo path erano attivi o no.
<?php
// parametri del database
$db_host = "";
$db_user = "";
$db_password = "";
$db_name = "";
// il path che aggiunto a quello ottenuto dal database forma l'url da controllare
// ad esempio se nel database salviamo il me del file
// il path sarà l'intero percorso dove questo file è salvato
$path="";
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
echo "<html>
<head>
<title>Test path</title>
</head>
<body>
<table>";
// query per ottenere tutti i path, nel database di topincs le occurrences con type 347
$query = "SELECT id, value FROM occurrences WHERE type=347 ORDER BY id";
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
{
// elimina eventuali spazi alla fine della stringa
$filename=trim($row[value]);
// converte gli spazi in _
$filename = str_replace(" ", "_", $filename);
//se il filename è stato aggiornato lo salva
if ($filename!=$row[value])
{
$query= "UPDATE cededa.occurrences SET occurrences.value = '$filename', occurrences.modification_ts = NOW( ) WHERE occurrences.id = $row[id] LIMIT 1" ;
}
echo "
<tr>
<td>$row[id]</td>
<td>$filename</td>
";
// controllo se l'immagine/pagina web è presente
$url= $path.$filename;
$status = @fopen($url, "r");
if (!$status)
{
echo "
<td>ERROR!</td>
";
}
else
{
fclose($status);
echo"
<td>OK</td>
";
}
echo"</tr>
";
}
echo "</table>
</body></html>";
?>
