Inviare Foto nello spazio web in modo sicuro

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Ciao a tutti

ho questo script

PHP:
<div align=center>

<form action="upload.php" method="post" enctype="multipart/form-data">
   <!-- Campo file di nome "image" -->
   <input name="image" type="file" size="40" />
   <br /><br />
   <!-- Pulsante -->
   <input name="upload" type="submit" value="Carica immagine" />
</form>

<?
//Nella pagina upload.php inseriamo ora il seguente codice:

do {
if (is_uploaded_file($_FILES['image']['tmp_name'])) {
// Controllo che il file non superi i 18 KB
if ($_FILES['image']['size'] > 18432) {
$msg = "

Il file non deve superare i 18 KB!!
";
break;
}
// Ottengo le informazioni sull'immagine
list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
// Controllo che le dimensioni (in pixel) non superino 160x180
if (($width > 160) || ($height > 200)) {
$msg = "

Dimensioni non corrette!!
";
break;
}
// Controllo che il file sia in uno dei formati GIF, JPG o PNG
if (($type!=1) && ($type!=2) && ($type!=3)) {
$msg = "

Formato non corretto!!
";
break;
}
// Verifico che sul sul server non esista già un file con lo stesso nome
// In alternativa potrei dare io un nome che sia funzione della data e dell'ora
if (file_exists('_altervista_ht/'.$_FILES['image']['name'])) {
$msg = "

File già esistente sul server. Rinominarlo e riprovare.
";
break;
}
// Sposto il file nella cartella da me desiderata
if (!move_uploaded_file($_FILES['image']['tmp_name'], '_altervista_ht/'.$_FILES['image']['name'])) {
$msg = "

Errore nel caricamento dell'immagine!!
";
break;
}
}
} while (false);
echo $msg;
?>
</div>

invia le foto nello spazio web con delle restrizioni
tipo la foto non deve superare i 18 kb
la foto deve essere di dimensioni non maggiori di 160 larghezza e 200 lunghezza
la foto dev'essere di 3 formati .... jpg gif o png

e qui entra il mio problema...
come si fa ad aggiungere il formato bmp?
oppure il formato .ico?

ho provato ad inviare un file php e mi risulta "formato non corretto"
quindi dovrebbe essere sicuro?

la cartella dove vanno a finire le foto si chiama _altervista_ht
ed è sctritta in due punti dello script
dove c'è
file_exists('_altervista_ht/'.$_FILES['image']
['name'])) {

e poi
if (!move_uploaded_file($_FILES['image']['tmp_name'], '_altervista_ht/'.$_FILES['image']['name'])) {

le mie domande....

- è uno script assolutamente sicuro?
- come si inseriscono gli altri formati bmp e ico?
- è possibile visualizzarle mostrando le dimensioni?

grazie
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
aggiornamento... ho trovato lo script per vedere le foto

PHP:
<?
$od=opendir("./_altervista_ht");
if(!$od){echo"Errore apertura cartella album";exit;}
while(gettype($file=readdir($od))!=boolean){
if($file!="." && $file!="..")
echo "<a href=./_altervista_ht/".$file.">".$file."<a><br>";
}
closedir($od);
?>

sono riuscito a mettere i link :mavieni:
ma per sapere le dimensioni? :confused:

inoltre oltre alle foto si possono inviare
anche i filmati swf di Flash? :book:
magari in un altro script

a voi la parola.... Onorevoli! :hammer:
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Per controllare l'estensione di un file io ho sempre usato questo snippet:
PHP:
$file = 'foo.txt';

$parts = explode('.', $file);
$ext   = end($parts);
E poi, per assicurarti che sia in uno dei formati accettati:
PHP:
$valid = array('txt', 'doc', 'bmp', 'jpg', 'jpeg', 'gif');

if (!in_array(strtolower($ext), $valid)) {
    die('Il formato del file non è valido.');
}
 

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Interessante...

Ciao Gighen,

interessante ma come lo impianto nello script...
io purtroppo non sono meccanico e non sò
come impiantarlo...

Mi potresti modificare lo script aggiungendo quell'array
e le dimensioni? :book:

Grazie
 

Allegati

  • gatto_siamese.jpeg
    gatto_siamese.jpeg
    15,5 KB · Visite: 27.002
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
F inviare foto sul server da pagina web ASP.NET 1
csi Inviare file jpg in locale alla stampante con php PHP 0
M Inviare un file su un server remoto con JavaScript Javascript 0
E Inviare variabile a PHP da ciclo in JS Javascript 0
M Inviare dati nel db dopo risposta alert PHP 0
L inviare i dati di un form ad un database PHP 6
D INVIARE PAGINA XHTML TRAMITE EMAIL HTML e CSS 1
O [PHP] inviare dati da form e script ajax PHP 0
D [HTML] Inviare un link contenente un' immagine HTML e CSS 4
M Inviare variabili da menu a tendina a pagina php con post PHP 6
I [PHP] inviare form con allegato tramite una mail PHP 1
I Guida/Tutorial configurare PHPMailer per inviare mails tramite contact form? PHP 2
A [PHP] Inviare mail con piu immagini allegate PHP 6
C non riesco a inviare la posta con account alice Posta Elettronica 1
F [Javascript] Inviare i campi di un form col metodo post Javascript 7
L [Javascript] aiuto non riesco a inviare in get dal server web locale su altervista con httpRequest Javascript 0
A Non riesco ad inviare una mail attraverso PHP su Xampp PHP 2
L 120 SMS Gratis da inviare in qualsiasi momento Vendere e Acquistare pubblicita' online 0
angelo85 Sito joomla che permetta agli utenti di inviare mail Joomla 2
H [PHP] Inviare dati PHP 3
E [PHP] inviare 2 form consecutivamente PHP 4
S PHP: inviare via email contenuto di una funzione PHP 4
M Come inviare due mail diverse con phpmailer PHP 6
A Creare da form un PDF da inviare come allegato. PHP 1
M Inviare mail con PHP tramite Mozilla PHP 3
M Inviare mail dopo due giorni lavorativi PHP 3
P Creare form e inviare via mail HTML e CSS 2
M Inviare mail con href PHP 2
I Inviare dati POST tramite curl PHP 0
danjde inviare dati testuali verso iframe PHP 5
max_400 Si possono inviare sms con php? PHP 3
S inviare the_title() in una mail tramite form html/php PHP 0
M inviare email con access MS Access 3
Shyson Inviare css con form email PHP 1
N inviare input dinamici senza ricaricare la pagina Javascript 4
N inviare dati post tramite redirect PHP 4
G Inviare un form HTML e CSS 9
F inviare una mail con php mailer PHP 3
L Inviare allegati decodificati PHP 1
N Inviare mail di conferma al cliente PHP 0
Z Inviare newsletter da sito realizzato con WordPress Email Marketing 6
Monital [risolto] Inviare un input radio assieme ad un link PHP 7
F E' possibile inviare un comando DOS con javascript o altro linguaggio?? Javascript 1
M link con dati estratti da un db e aggiungere a tali link variabili da inviare a nuova pagina PHP 2
pup3770 Suddividere e inviare pdf HTML e CSS 2
M come inviare 2 variabili con get PHP 7
ciccio1892 Select concatenate con Ajax inviare scelta utente tramite post insieme ad altri dati form PHP 3
E Inviare una mail automaticamente, da un account gmail PHP 1
U form mail per inviare tracciabilità corriere PHP 0
L consigli per inviare newsletter PHP 8

Discussioni simili