- Home
- Categorie
- Coding e Sistemistica
- PHP
- is_uploaded_file restituisce false
-
is_uploaded_file restituisce false
Salve, ho uno scriptino molto semplice per caricare immagini in una cartella del mio sito che non funziona e questo lo attesta anche la funzione is_uploaded_file().
premetto che la cartella in cui viene eseguito lo script che la cartella dove andranno salvate le immagini hanno i permessi settati al 777.
il form:
[html]
<form action="chisiamo_modslave.php" method="post" enctype="application/x-www-form-urlencoded" id="chisiamo">
<fieldset>
<legend>Modifica i dati relativi a <?php echo $messaggio['nome']; ?></legend>
<label for="nome">Nome e Cognome: </label><input id="nome" name="nome" type="text" value="<?php echo $messaggio['nome'] ?>"/><br />
<label for="numero">Cellulare: </label><input id="numero" name="numero" type="text" value="<?php echo $messaggio['numero'] ?>"/><br />
<label for="mail">e-mail: </label><input id="mail" name="mail" type="text" value="<?php echo $messaggio['mail'] ?>"/><br />
<label for="descrizione">Descrizione: </label><textarea name="descrizione" id="descrizione" cols="90" rows="15"><?php echo $messaggio['descrizione'] ?></textarea><br />
<label>Vecchia foto: </label> <?php if ($messaggio['foto'] != "")
{
echo "<img src="foto/".$messaggio['foto']."" border="0" />";
echo "<br />";
echo "<input type="checkbox" name="cancella" id="cancella" value="1">";
echo "elimina immagine (l?articolo non conterrà nessuna immagine)";
}
else
{ echo "Non era stata inserita nessuna immagine."; }
?><br />
<label for="imgnu">Nuova foto: </label><input name="imgnu" type="file" class="testo" id="imgnu" /><br />
<input name="foto" type="hidden" id="foto" value="<?php echo $messaggio['foto']; ?>" />
<input name="id" type="hidden" id="id" value="<?php echo $id ?>" />
<div id="tasti"><input type="submit" name="Submit" value="Salva" /> <input type="reset" name="reset" value="Cancella tutto" /></div>
</fieldset>
</form>
[/html]il codice del chisiamo_modslave.php:
[php]
if($_POST['cancella'] != 1)
{if($_POST['imgnu'] != "") { include ("img_mod.php"); //script per caricare le immagini e i file } else { $nomefb = $_POST['foto']; }
}
else
{
$nomefoto = "foto/".$_POST['foto'];
unlink($nomefoto);
$nomefb = "";
}[/php]il codice di img_mod.php:
[php]
error_reporting (E_ALL);
$msg = "immagine caricata con successo";
if (is_uploaded_file($_FILES['imgnu']['tmp_name'])) {
// 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 > 3000) || ($height > 3000)) {
...
[/php]non entra dentro il primo if quindi la funzione is_uploaded_file() restiusce false.
l'error_reporting mi segnala:
Notice: Undefined index: imgnu in /home/mhd-01/w w w.scarpinato.it/htdocs/ep_media/gestione/img_mod.php on line 4che ci sia un problema con il provider?
-
[PHP]
<?php
echo $_FILES['imgnu']['name'];
echo $_FILES['imgnu']['type'];
echo $_FILES['imgnu'];
echo $_FILES['imgnu']['tmp_name'];
echo $_FILES['imgnu']['error'];
echo $_POST['imgnu'];
?>
[/PHP]restituisce solo e soltanto il nome dell'immagine grazie all'echo del $_POST
-
Prova questo codice:
[php]<form enctype="multipart/form-data" action="" method="POST">
Send this file: <input name="imgnu" type="file" />
<input type="submit" value="Send File" />
</form>
<?php
if (isset($_FILES['imgnu'])) {
var_dump(is_uploaded_file($_FILES['imgnu']['tmp_name']));
}
?>[/php]
-
Non restituisce alcunché
-
Che cosa intendi per "Non restituisce alcunché"?
Hai selezionato un file e cliccato su Send File?
Se visualizzi il sorgente restituito al browser, noti qualcosa di strano?