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
e successivamente richiamo la funzione
di seguito definita:
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.
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.