allora,
la soluzione del link che hai postato è interessante ma mi sembra eccessiva
per quel che devo fare.
In ogni caso volevo sottoporti anche un'altra soluzione:
Codice PHP:
<?php
include("dati.php");
$link=mysql_connect("$db_host","$db_login","$db_pass")
or die ("Non riesco a connettermi a [b]$db_host");
@mysql_select_db ($database, $link)
or die ("Non riesco a selezionare il db $database
");
if (isset($_REQUEST['nome'])){
$dati=" INSERT INTO rubrica VALUES (NULL,
'".$_REQUEST['nome']."',
'".$_REQUEST['cognome']."',
'".$_REQUEST['reparto']."',
'".$_REQUEST['stipendio']."',
'".$_FILES['foto']['name']."'
)";
mysql_query ($dati, $link)
or die ("Non riesco ad eseguire la query $dati");
Echo "I Dati sono stati archiviati con successo nel DataBase $database";
mysql_close ($link);
echo "<meta http-equiv=refresh content=3;url=$PATH_INFO>";
}
?>
<?php
$uploaddir = 'images/';
$uploadfile = $uploaddir . basename($_FILES['foto']['name']);
echo "<pre>";
if (move_uploaded_file($_FILES['foto']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possibile attacco tramite file upload!\n";
}
echo 'Alcune informazioni di debug:';
print_r($_FILES);
print "</pre>";
$fileName = $_FILES['foto']['name'];
// Ottengo le informazioni sull'immagine originale
list($width, $height, $type, $attr) = getimagesize("images/$fileName");
// Creo la versione 120*90 dell'immagine (thumbnail)
$thumb = imagecreatetruecolor(160, 150);
$source = imagecreatefromjpeg("images/$fileName");
imagecopyresized($thumb, $source, 0, 0, 0, 0, 160, 150, $width, $height);
// Salvo l'immagine ridimensionata
imagejpeg($thumb, "thum/$fileName", 100);
?>
<html>
<head>
<title>Form dati</title>
</head>
<body>
<TABLE border=0 width=100% cellpadding=3>
<tr>
<td width=100% colspan=2>
<p align=center>[b]Inserisci i dati del nuovo utente
<form method="POST" enctype="multipart/form-data" action=<? $PATH_INFO ?>>
[/b]</td>
</tr>
<tr>
<td width=18%>[b]Nome[/b]</td>
<td width=82%><input type=text name=nome size=20></td>
</tr>
<tr>
<td width=18%>[b]Cognome[/b]</td>
<td width=82%><input type=text name=cognome size=20></td>
</tr>
<tr>
<td width=18%>[b]Reparto[/b]</td>
<td width=82%><input type=text name=reparto size=20></td>
</tr>
<tr>
<td width=18%>[b]Stipendio[/b]</td>
<td width=82%><input type=text name=stipendio size=20></td>
</tr>
<tr>
<td width=18%>[b]Foto[/b]</td>
<td width=82%><input type=file name=foto size=20></td>
</tr>
<tr>
<td width=18%>[b]<input type=submit value=Inserisci nuovi dati>[/b]</td>
<td width=82%></form></td>
</tr>
</table>
</body>
</html>
Questa un po' è opera mia un po' me l'hanno suggerita.
In effetti funziona ma il browser mi restituisce dei messaggi di errori dei quali
non ho capito la causa.
Eccoli:
Possibile attacco tramite file upload!
Alcune informazioni di debug:Array
(
)
Warning: getimagesize(images/): failed to open stream: Permission denied in c:\programmi\easyphp1-7\www\provalez\inserisci_dati.php on line 45
Warning: imagecreatefromjpeg(images/): failed to open stream: Permission denied in c:\programmi\easyphp1-7\www\provalez\inserisci_dati.php on line 49
Warning: imagecopyresized(): supplied argument is not a valid Image resource in c:\programmi\easyphp1-7\www\provalez\inserisci_dati.php on line 50
Warning: imagejpeg(): Unable to open 'thum/' for writing in c:\programmi\easyphp1-7\www\provalez\inserisci_dati.php on line 53
Potresti aiutarmi a risolvere il problema?
Grazie