Ho realizzato questa pagina, ecco il sito http://astropvt.altervista.org/NuovaCartella/index.php :
Codice:
<?php
session_start();
if (isset($_POST['username'])) //Se esiste la variabile username in POST, significa che ho tentato il login
{
@require("accesso.php"); //Inmporta tutto il codice scritto nel file accesso.php
}
define("UPLOAD_DIR", "./upload/"); //Definisce dove andranno i file caricati
if(isset($_POST['action']) and $_POST['action'] == 'upload')//Se è stato richiesto di caricare un'immagine allora si guarda
{
if(isset($_FILES['user_file']))
{
$file = $_FILES['user_file'];
if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
{
move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
}
//Adesso, creo un file di testo che contiene i tag associati ad una immagine
$nome_file = str_replace(".png","",$file['name']); //Sostituisce la prima stringa con la seconda, dentro la terza
$nome_file = str_replace(".gif","",$nome_file);
$nome_file = str_replace(".jpg","",$nome_file);
$nome_file = str_replace(".bmp","",$nome_file);
$fp = fopen(UPLOAD_DIR.$nome_file.".txt","w+");
fwrite($fp,$_POST['tags']);
fclose($fp);
$fp = fopen(UPLOAD_DIR."elenco.txt","a");
fwrite($fp,chr(0xA) . $file['name']);
fclose($fp);
unset($_FILES,$_POST);
}
}
//Vedo se devo ricercare qualche immagine
if (isset($_POST['cerca']))
{
$lines = file("./upload/elenco.txt"); //Apre il file elenco.txt spezzettandolo in tutte le sue righe
foreach($lines as $line_num => $line) //Per ogni linea del file elenco.txt (che contiene i nomi di tutti i files caricati) ti estrae tutte le immagini con il tag ricercato
{
$temp = explode(".",$line); //Ti estrae il nome dell'imm.
{
$lines_2 = file("./upload/" . $temp[0] . ".txt"); //Ti apre i tag dell'immagine
{
$temp_interno = explode(",",$lines_2[0]);
$trovato = false;
for ($i=0;$i<count($temp_interno);$i++)
{
if (strcmp($_POST['cerca'],$temp_interno[$i]) == 0)
{
$trovato = true;
break;
}
}
if ($trovato == true)
{
$vettore_immagini[] = $temp[0] . ".jpg"; //Metto in coda all'array il nome dell'immagine trovata, aggiungendo l'estensione .jpg
}
}
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Il sistema solare</title>
<link href="css/main.css" rel="stylesheet" type="text/css" />
<style type="text/css" media="screen">
#personale
{
display:none; /* di default, nascondo il div con il saluto all'utente, perchè esso non è loggato */
}
#mainContent table
{
margin:0 auto;
border-collapse:separate;
border-spacing:20px;
}
#alert
{
display:none;
}
#mainContent table td
{
border:thin #CCC solid;
margin:10px;
}
ul
{
list-style-type:none;
}
#mainContent li
{
border:thin #CCC solid;
}
<?php
if (isset($_SESSION['username']))
{
echo "#personale { display:block; }\n#login { display:none; }";
}
if (isset($_POST['cerca']))
{
echo "#alert { display:inline; }"; //Mostra se si è cercato un'immagine, l'alert in questo caso è un tag html
}
?>
</style>
<!--[if IE 5]>
<style type="text/css">
/* inserire in questo commento aggiuntivo le correzioni del modello di riquadro css per IE 5* */
.twoColFixLtHdr #sidebar1 { width: 230px; }
</style>
<![endif]--><!--[if IE]>
<style type="text/css">
/* inserire in questo commento condizionale le correzioni css per tutte le versioni di IE */
.twoColFixLtHdr #sidebar1 { padding-top: 30px; }
.twoColFixLtHdr #mainContent { zoom: 1; }
/* la proprietà zoom proprietaria riportata sopra fornisce a IE l'elemento hasLayout necessario per evitare vari bug */
</style>
<![endif]-->
</head>