Sostituire immagine in una cartella.

[email protected]

Nuovo Utente
2 Mar 2013
25
0
0
Ciao a tutti,volevo fare una domanda,io con uno script carico un'immagine dentro una cartella,io volevo sapere se è possibile fare in modo che se nella cartella esiste già un immagine questa venisse sostituita con quest'ultima che sto caricando,è possibile fare una cosa del genere,se si come faccio?
Questo è lo script con quale carico l'immegine nella cartella Immagini.

PHP:
<html>
<body>
<?php
do {
if (is_uploaded_file($_FILES['file']['tmp_name'])) {

if ($_FILES['file']['size'] > 8024000) {
$msg = "<p>Il file non deve superare i 18 KB!!</p>";
break;
}

list($width, $height, $type, $attr) = getimagesize($_FILES['file']['tmp_name']);

if (($width > 400) || ($height > 350)) {
$msg = "<p>Dimensioni non corrette!!</p>";
break;
}

if (($type!=1) && ($type!=2) && ($type!=3)) {
$msg = "<p>Formato non corretto!!</p>";
break;
}

if (file_exists('Immagini/'.$_FILES['file']['name'])) {
$msg = "<p>File già esistente sul server. Rinominarlo e riprovare.</p>";
break;
}
if (!move_uploaded_file($_FILES['file']['tmp_name'], 'Immagini/'.$_FILES['file']['name'])) {
$msg = "<p>Errore nel caricamento dell'immagine!!</p>";
break;
} 
}
} while (false);
?>
</body>
</html>
 
Ultima modifica di un moderatore:

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Beh togli il controllo tramite il file_exists() nel penultimo if e prova
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Me la mette comunque.
In che senso? Dovrebbe andare bene no? Tu hai chiesto che "se nella cartella esiste già un immagine questa venisse sostituita con quest'ultima che sto caricando" quindi levando il controllo per l'esistenza di uno stesso file con nome uguale dovrebbe sostituirtela
 

[email protected]

Nuovo Utente
2 Mar 2013
25
0
0
Allora mi sono spiegato male io,se le immagini hanno lo stesso nome levando il controllo è ovvio che funziona,ma io volevo fare in modo che anche se c'è un'immagine e ha un nome diverso venisse lo stesso sostituita da quest'ultima che sto caricando,praticamente in questa cartella non ci possono stare più di una di immagini.
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Allora mi sono spiegato male io,se le immagini hanno lo stesso nome levando il controllo è ovvio che funziona,ma io volevo fare in modo che anche se c'è un'immagine e ha un nome diverso venisse lo stesso sostituita da quest'ultima che sto caricando,praticamente in questa cartella non ci possono stare più di una di immagini.
Allora non fai prima a mettere un nome statico all'immagine?
PHP:
if (!move_uploaded_file($_FILES['file']['tmp_name'], 'Immagini/immagine.png'))
 

[email protected]

Nuovo Utente
2 Mar 2013
25
0
0
Perfetto grazie.
Funziona alla grande.
In effetti è una soluzione alla quale avevo già pensato,ma mai messa in pratica.
Grazie ancora.