UPLOAD File in PhP

moscacieca

Nuovo Utente
27 Gen 2009
8
0
0
Carissimi amici, volevo chiedervi se avete presente perchè non mi funziona questo script per effettuare l'upload di un file.
Premetto che il file lo passo con la funzione

PHP:
$file=$HTTP_POST_FILES['file'];

e successivamente richiamo la funzione

PHP:
inserisciFile($file, $result1[id], $result2[id], $descr);

di seguito definita:

PHP:
function inserisciFile($file_,$id_prog,$id_cat,$descr) {
	
	if(empty($file_)) return false;
	if(empty($file_["name"]) ) return false;
	if(empty($file_["size"]) || $file_["tmp_name"]=="none")  return false;

if(!isset($_SERVER)) {
    $_SERVER = $HTTP_SERVER_VARS;
}

$new_name = "";
$file_name = "";

//*Percorso assoluto della cartella dove si desiderano salvare i files uploadati, la cartella deve avere i permessi 777*/

$upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/upload/";

if ($new_name==""){
    $new_name=$file_["name"];
}else{
    $file_name=$new_name;
}

if(trim($file_["name"]) == "") {
    die("Devi indicare il file che desideri caricare");
}

echo $upload_dir . $new_name;
echo $file_['tmp_name'];

//parametri della funzione: move_uploaded_file($percorso_client, $cartella_remota_destinazione . $nome_file)

if(@is_uploaded_file($file_["tmp_name"])) {
    @move_uploaded_file($file["tmp_name"], $upload_dir . $new_name);
    chmod($upload_dir/$new_name, 0755)
    
    or die("Non riesco a spostare il file, controlla che siano stati assegnati i permessi 777 alla cartella di destinazione dei file uploadati");
} else {
die("C'è stato un problema con l'upload, prova di nuovo o contatta il webmaster " . $file_["name"]);
}
/*Informo l'utente che l'upload è stato eseguito correttamente*/
echo "L'upload del file " . $file_["name"] . " è stato eseguito con successo";

$file_name = $file_['name'];
	$file_tipo = $file_['type'];
	$file_size = $file_['size'];
	$file_tmp  = addslashes( $file_['tmp_name']);
	$file_path = "$upload_dir/$file_name";

$fp      = fopen($file_tmp, 'r');
	$content = fread($fp, filesize($file_tmp));
	$content = addslashes($content);
	fclose($fp);

	if(!get_magic_quotes_gpc()) $file_name = addslashes($file_name);


        $ris= mysql_query("INSERT 
                       INTO `file` (
                                    `id`,
                                    `name`,
                                    `path`,
                                    `file`,

etc etc...

Quando seleziono determinati file mi funziona, andando a storare le informazioni del file sul DB, ma senza spostare fisicamente il file nella cartella di destinazione.

Altre volte invece non mi memorizza neanche le info nel DB, stampando a video le seguenti righe:

Warning: chmod(): No such file or directory in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\functions.inc.php on line 715
Non riesco a spostare il file, controlla che siano stati assegnati i permessi 777 alla cartella di destinazione dei file uploadati.


A seguito del caricamento delle info del file, quando lo script funziona (in parte evidentemente), mi vengono visualizzati i seguenti messaggi:


Notice: Undefined offset: 0 in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\template.inc.php on line 513

Notice: Array to string conversion in c:\programmi\easyphp1-8\www\progetto.it\htdocs\add_doc.php on line 109

Notice: Use of undefined constant id - assumed 'id' in c:\programmi\easyphp1-8\www\progetto.it\htdocs\add_doc.php on line 134

Notice: Use of undefined constant id - assumed 'id' in c:\programmi\easyphp1-8\www\progetto.it\htdocs\add_doc.php on line 134
c:/programmi/easyphp1-8/www/upload/vincpa.jpgC:/Programmi/EasyPHP1-8\tmp\php33B.tmp
Warning: Division by zero in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\functions.inc.php on line 716

L'upload del file vincpa.jpg è stato eseguito con successo

Warning: fopen(C:/Programmi/EasyPHP1-8\\tmp\\php33B.tmp): failed to open stream: No such file or directory in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\functions.inc.php on line 745

Warning: filesize(): Stat failed for C:/Programmi/EasyPHP1-8\\tmp\\php33B.tmp (errno=2 - No such file or directory) in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\functions.inc.php on line 746

Warning: fread(): supplied argument is not a valid stream resource in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\functions.inc.php on line 746

Warning: fclose(): supplied argument is not a valid stream resource in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\functions.inc.php on line 748

Notice: Array to string conversion in c:\programmi\easyphp1-8\www\progetto.it\htdocs\add_doc.php on line 136

Warning: unlink(Array): No such file or directory in c:\programmi\easyphp1-8\www\progetto.it\htdocs\add_doc.php on line 136


Credo ci sia qualche Warning di troppo e badando bene nel Warning successivo al messaggio di avvenuto Upload c'è qualche SLASH di troppo...
Cosa ne pensate?
Tenevo a sottolineare che quando lo script pseudofunzionante memorizza i dati nel DB, ciò che invece non avviene è lo spostamento fisico del file nella cartella di destinazione.

Grazie mille.
 

moscacieca

Nuovo Utente
27 Gen 2009
8
0
0
Ciao Eliox! Grazie per aver risposto.
Ho provato a seguire il tuo consiglio, ma niente! Sono due gli errori che suppongo continuino a sussistere:

1) nel momento in cui vado a selezionare un file ad esempio immagine con nome 13122008087.jpg, mi vengono visualizzate le seguenti notifiche:

Notice: Use of undefined constant id - assumed 'id' in c:\programmi\easyphp1-8\www\progetto.it\htdocs\add_doc.php on line 134
c:/programmi/easyphp1-8/www/upload/13122008082.jpgC:/Programmi/EasyPHP1-8\tmp\php30A.tmp
Warning: chmod(): No such file or directory in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\functions.inc.php on line 716
Non riesco a spostare il file, controlla che siano stati assegnati i permessi 777 alla cartella di destinazione dei file uploadati

facendo evidentemente riferimento a:

PHP:
if(@is_uploaded_file($file_["tmp_name"])) {
    @move_uploaded_file($file["tmp_name"], $upload_dir . $new_name);
    chmod($upload_dir/$new_name, 0755)

2) mentre se seleziono un file che rinomino con un nome a mia scelta ad es. ioepa.jpg, allora mi esegue la memorizzazione delle informazioni del file sul DB, mi comunica che l'upload è stato eseguito con successo, dopidichè non mi effettua lo spostamento fisico del file comunicandomi queste notifiche e warning:

Notice: Array to string conversion in c:\programmi\easyphp1-8\www\progetto.it\htdocs\add_doc.php on line 109

Notice: Use of undefined constant id - assumed 'id' in c:\programmi\easyphp1-8\www\progetto.it\htdocs\add_doc.php on line 134

Notice: Use of undefined constant id - assumed 'id' in c:\programmi\easyphp1-8\www\progetto.it\htdocs\add_doc.php on line 134
c:/programmi/easyphp1-8/www/upload/fede.jpgC:/Programmi/EasyPHP1-8\tmp\php30D.tmp
Warning: Division by zero in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\functions.inc.php on line 716

L'upload del file fede.jpg è stato eseguito con successo

Warning: fopen(C:/Programmi/EasyPHP1-8\\tmp\\php30D.tmp): failed to open stream: No such file or directory in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\functions.inc.php on line 745

Warning: filesize(): Stat failed for C:/Programmi/EasyPHP1-8\\tmp\\php30D.tmp (errno=2 - No such file or directory) in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\functions.inc.php on line 746

Warning: fread(): supplied argument is not a valid stream resource in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\functions.inc.php on line 746

Warning: fclose(): supplied argument is not a valid stream resource in c:\programmi\easyphp1-8\www\progetto.it\htdocs\include\functions.inc.php on line 748

Notice: Array to string conversion in c:\programmi\easyphp1-8\www\progetto.it\htdocs\add_doc.php on line 136

Warning: unlink(Array): No such file or directory in c:\programmi\easyphp1-8\www\progetto.it\htdocs\add_doc.php on line 136

Ti prego di guardare anche la warning in neretto... tra SLASH e BACKSLASH...

Grazie mille!
 
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
R upload file php PHP 5
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
S Upload File in Php PHP 7
nicocade [help] upload file con php!!! PHP 1
L Modifica file upload in ASP Classic ASP 0
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