upload file php

rickypictures

Nuovo Utente
6 Giu 2014
4
0
0
Salve a tutti,
sto impazzendo da due giorni su un problema che riguarda l'upload di un file in php.
Ho visto che ci sono diverse discussioni sull'argomento ma sembra che nessuno abbia riscontrato il mio problema.
Posto il codice:


HTML:
<!DOCTYPE html>
<html lang="it">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<form method=”post” action='upload.php' name="form1" id="form1">
            <label>Carica il tuo file:
            <input type="file" name='upload' id='upload' ></label>
            <input type="submit" name="invia" id="invia" value="Invia" tabindex="40">
        </form>
</body>
</html>


PHP:
<?php 

if($_FILES['upload']['error'] == 0){

	if($_FILES['upload']['type'] != "image/jpeg") die("formato non valido");
		echo "temp: " .$_FILES['upload']['temp_name'];
		move_uploaded_file($_FILES['upload']['tmp_name'], "http://www.pippo.it/public/uploads/".$_FILES['upload']['name']) or die ("imp");
		echo "upload ok".$_FILES['upload']['name'];

}

?>


Al momento mi esce la stampa "formato non valido", ma anche commentando il controllo del formato anche .$_FILES['upload']['temp_name'] è vuoto.

Non capisco dove sia l'errore.
Grazie mille a tutti per l'aiuto.
 

marino51

Utente Attivo
28 Feb 2013
3.039
192
63
Lombardia
PHP:
move_uploaded_file($_FILES['upload']['tmp_name'], "http://www.pippo.it/public/uploads/".$_FILES['upload']['name']) or die ("imp");

ciao,
io conosco molto poco ma,
se togliessi "http://www.pippo.it/" e indirizzassi correttamente il file secondo il sistema operativo in uso forse
potrebbe anche funzionare
ciao
Marino
 

rickypictures

Nuovo Utente
6 Giu 2014
4
0
0
Ciao Marino,
grazie per la tua risposta. Ho provato a scrivere diversamente il percorso ma niente.
Il problema è a monte, $_FILES è vuota, non riesco a fare l'upload e infatti quando stampo non esce nulla.
E' come se non memorizzasse il percorso del file da caricare.
Possibile che non ci sia nessuno in grado di aiutarmi? Grazie
 

marino51

Utente Attivo
28 Feb 2013
3.039
192
63
Lombardia
ti posto il mio esempio che funziona,

file : frontend_ridotto.php

HTML:
<?php

# http://localhost/test_site/php/test/frontend_ridotto.php

?>
<!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=ISO-8859-1" />
<title>prova allegato</title>
<link href="css/news.css" rel="stylesheet" type="text/css" />

<style type="text/css">
label #Richiesta_0 {
	color: #FFFF80;
}
</style>
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td valign="top" height="3018">
     <form action="FrontendMailer.php" method="post" enctype="multipart/form-data" name="frontendF"> 
      <table width="1005" border="0">
        <tr>
          <td colspan="2"><label for="Allegato">Allegato</label>
            <input type="file" name="Allegato" id="Allegato" /></td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td> 
          <td><input type="reset" name="Ripristina" id="Ripristina" value="Reset" /></td>        
          <td><input type="submit" name="send" alt="Invia" value="Invia" align="middle" /></td> 
          <td>&nbsp;</td>
          <td>&nbsp;</td>
          </tr>
      </table>
    </form></td>
  </tr>
</table>
<blockquote>&nbsp;	</blockquote>
</body>
</html>

file : FrontendMailer.php

PHP:
<?php

if ($_FILES["Allegato"]["error"] > 0) {
  $Allegato = "";
  echo "Error: " . $_FILES["Allegato"]["error"] . "<br>";
} else {
  $Allegato_name = $_FILES["Allegato"]["name"];
  $Allegato_type = $_FILES["Allegato"]["type"];
  $Allegato_size = $_FILES["Allegato"]["size"] / 1024;
  $Allegato_temp = $_FILES["Allegato"]["tmp_name"];
  $Allegato_path = dirname($_FILES["Allegato"]["tmp_name"]);
  $Allegato      = $Allegato_path."/".$Allegato_name;

  print "Upload    : ".$Allegato_name."<br />";
  print "Type      : ".$Allegato_type."<br />";
  print "Size (kB) : ".$Allegato_size."<br />";
  print "Stored in : ".$Allegato_temp."<br />";
  print "folder    : ".$Allegato_path."<br />";
  print "new file  : ".$Allegato."<br />";

  rename ($Allegato_temp, $Allegato); 
}
?>
risultato :

Upload : 10frasi.rtf
Type : application/msword
Size (kB) : 4.7607421875
Stored in : C:\Windows\Temp\phpB231.tmp
folder : C:\Windows\Temp
new file : C:\Windows\Temp/10frasi.rtf
penso che fai prima tu a verificare le differenze,
se cambi "Allegato" in "upload" credo che somigli molto al tuo sviluppo

è chiaro che devi avere accesso in scrittura nel folder di upload

considera che il codice html esegue l'upload (vedi stored in)
mentre php cambia solo il nome nell'originale (vedi new file)

guarda soprattutto la form nel codice html
ciao
Marino
 
Ultima modifica:

rickypictures

Nuovo Utente
6 Giu 2014
4
0
0
Grazie per la risposta e soprattutto la pazienza.
Ho provato il tuo codice e una volta fatto click su invia mi compare la scritta "Error: 6" che ho visto essere un problema con la cartella temporanea. Io sul file php.ini del server ho impostato upload_tmp_dir = D:\siti\miosito\public.
Ho inoltre stampato i campi di $FILE Array ( [Allegato] => Array ( [name] => immagini-divertenti copia.jpg [type] => [tmp_name] => [error] => 6 [size] => 0 )
 

marino51

Utente Attivo
28 Feb 2013
3.039
192
63
Lombardia
mi compare la scritta "Error: 6" che ho visto essere un problema con la cartella temporanea. Io sul file php.ini del server ho impostato upload_tmp_dir = D:\siti\miosito\public.
leggendo il manuale, spiega così l'errore
Value: 6; Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3.
non riesce a raggiungere il folder dove parcheggiare il file temporaneo
controlla bene cosa hai scritto nel file php.ini
e se sei sicuro di quanto scritto,

verifica i diritti di scrittura sulla cartella

fai qualche prova variando il "perrcorso", per esempio eliminando "siti",

come esempio, questa è la definizione di aruba per la cartella temporanea standard,
PHP:
$PercorsoDominio = $_SERVER['DOCUMENT_ROOT'];
//echo "<br>".$PercorsoDominio;
$public = "/public/upload/";
è scritta decisamente in modo diverso da come l'hai impostata tu

per concludere, devi trovare l'esatta definizione della cartella temporanea
ciao
Marino
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [PHP] Upload stesso file PHP 14
G [PHP] upload file in server: percorso cartella PHP 2
M Upload 4 file php PHP 11
M [PHP] Nome file, upload e rinominare PHP 2
M [PHP] upload di un file esistente overwrite PHP 1
N [PHP] Test per l'upload di file attraverso un bot Telegram PHP 2
C [PHP] Problema upload file (multiplo) PHP 1
S [PHP] Upload file... PHP 6
giancadeejay [PHP] Aggiornare DB tramite UPLOAD file .csv PHP 39
V [PHP] upload di file in cartella e sua sicurezza PHP 137
V File upload.php della guida, ma ha un errore PHP 8
francesco7 [Problema] esecuzione script Upload file in php PHP 0
I upload file php / javascript / mysql PHP 0
L [PHP e FTP upload] controllo file allegato PHP 6
novello88 PHP upload file PHP 1
B [PHP - MySQL] Upload di un File PHP 6
M UPLOAD File in PhP PHP 3
S Upload File in Php PHP 7
nicocade [help] upload file con php!!! PHP 1
L Modifica file upload in ASP Classic ASP 2
S Upload file senza doverlo selezionare PHP 2
G Upload file error Apache 0
R Modifica codice per l'upload di più file PHP 0
M [ASP] Upload file da form controllo Classic ASP 5
P Barra upload file jQuery 1
T [ASP] upload file Classic ASP 3
M Fare upload di file scegliendo la cartella di destinazione PHP 78
M rinominare file in upload PHP 3
Y script per upload file PHP 9
Devil-94 rimuovere i spazi del file in upload... PHP 1
R Problema upload file PHP 1
S Indicare una directory di destinazione per l'upload di un file PHP 1
M Errore nell'Upload di un file PHP 0
Nik Implementare script "upload file" nel proprio sito web... tramite google drive Javascript 1
D Upload file in cartella con progress bar PHP 6
P upload e rename file PHP 2
xone Form con campi input text e upload file PHP 4
A Upload in App Android (sfoglia file) Sviluppo app per Android 1
F Errore filezilla upload file Hosting 1
R upload multiplo di file PHP 7
F upload file PHP 1
M Upload di n solo file in due cartelle diverse PHP 4
C ridurre dimensione file immagine prima dell'upload Javascript 0
F Problema con upload di file PHP 1
P Upload file html speciale HTML e CSS 3
M Adattare script di "form mail con upload file" al mio form mail HTML! PHP 7
G UPLOAD con controllo esistenza file Classic ASP 0
M upload file con progress bar PHP 10
F pagina bianca upload file Joomla 0
A upload file PHP 14

Discussioni simili