Newsgroup: it.comp.www.php
Titolo: Problema upload documenti

Ciao a tutti
quando cerco di caricare un file sul server, mi da il seguente
messaggio d'errore:
[log] /home/fornawn/public_html/upload/download
[log]
Descrizione Immaginea
Percorso locale:
Nome del file:
Dimensione del file:
Tipo di file:
[log] Nome file
Allegato NON inserito
Warning: unlink() [function.unlink]: No such file or directory in
/home/fornawn/public_html/admin/download/down_upload.php on line 114
Su un altro server (dove lo script funzionava) questo era il
risultato.
[log] /home43b/sub004/sc32094-IXUZ/www/grigoidea/upload/download
[log] /tmp/phpdD5ncv
Descrizione Immagineqwe
Percorso locale: /tmp/phpdD5ncv
Nome del file: picture-3.jpg
Dimensione del file: 70578
Tipo di file: image/jpeg
[log] Nome file picture-3.jpg
Da quanto ho potuto capire, il problema, pensavo fosse relativo ai
permessi del folder /tmp, cioe` dove il form
<form id="UploadDoc" name="UploadDoc" method="post" enctype="multipart/
form-data" action="down_upload.php">
va a scrivere. Ho messo i parametri a 777 ma non funziona ancora.
Sembra infatti che dal form non arrivi nessuna informazione sul file.
Avete qualche idea?
ciao,
Andrea

 /home/fornawn/public_html/admin/download/down_upload.php on line 114
Per favore posta il codice che stai utilizzando per effettuare l'upload.
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

 Vieni a fare uno stage con noi:
http://www.creativepark.it/stage/
Ecco il codice:
<?
/* Site Admin: down_upload.php (c) 
agdev.net
 2007
 *
 * fate pure del vostro peggio noi faremo del nostro meglio
 *
 * @author: 
and...@agdev.net
 * @since: Mon Jul 16 12:10:24 CEST 2007
 * @module: News
 * @desc: News administration
 *
 * 1. seleziono quante lingue ci sono e in base alle lignue creo una
voce sulla form
 *
 */
	include('../../config/config.inc.php');
	session_start();
	if (!isset($_SESSION['authenticated'])) {
		header('Location: '.$redirect_to_index);
		exit();
	}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd
">
<html>
<head>
<title>Gestione allegati</title>
<link href="../css/default.css" rel="stylesheet" type="text/css">
<link href="../css/template.css" rel="stylesheet" type="text/css">
</head>
<body>
<?
	require_once('../../lib/database.php');
	require('../../lib/general.php');
	require('../../lib/i18n.php');
	$sql_max = "SELECT MAX(id) MID FROM Download";
	$titolo = $_POST[titolo];
	mylog($titolo);
	mylog($upload_download);
	mylog($UploadedFile);
  	// create a Database instance and check username and password
	$db = new Database($db_host, $db_user, $db_password, $db_nome,
$flash=1);
	$result = $db->query($sql_max);
	$row = $result->fetch_assoc();
	if ( $row[MID] == 'NULL' ) $next_val = 1;
	else $next_val = $row[MID] + 1;
	// Conto le lingue, in base al numero so quanti parametri aspettarmi!
  	$sql = 'SELECT Count(*) tot FROM Lingue';
 	$result = $db->query($sql);
	$row = $result->fetch_assoc();
	$tot_titoli = $row[tot];
	$tot_testi = $row[tot];
	$next_lang = get_nextid($db);
	while ( $tot_titoli != 0 ) {
		$titolo = $_POST['desc'.$tot_titoli];
		put_text($db, $next_lang, $tot_titoli, $titolo, 'Download.php');
		$tot_titoli = $tot_titoli - 1;
	}
	// Salva l'immagine sul disco
	if( $UploadedFile != none )
	{
		echo '
			<table width="50%" border="0" align="center" cellspacing="0">
			<tr>
				<td colspan="6"><div align="center"><img src="../images/
logoevoluzioni.jpg" width="266" height="70" /></div></td>
			</tr>
			</table>
			<br />';
		echo '<br><br>'
			.'<p align="left" class="nero">'
			.'Descrizione Immagine'.$_POST['desc1'].'<BR>'
			.'Percorso locale: '.$UploadedFile .'<BR>'
			.'Nome del file: '.$UploadedFile_name .'<BR>'
			.'Dimensione del file: '. $UploadedFile_size .'<BR>'
			.'Tipo di file: '.$UploadedFile_type .'<BR>'
			.'<HR>';
		mylog('Nome file '.$UploadedFile_name);
		if ( copy($UploadedFile , "$upload_download/".$_FILES['UploadedFile']
['name']) ) {
			$desc = $_POST['desc'];
			// Qui faccio l'update nel database della riga dell'allegato
			$sql_insert = "INSERT INTO Download(id, id_desc, filename, titolo)
VALUES ($next_val, $next_lang, '$UploadedFile_name', '$titolo')";
			if ( $result = $db->query($sql_insert) ) {
					echo '<p align="center" class="testo_avviso">Allegato '.
$UploadedFile_name.' Inserito '
					.'<br><br><a href="index.php">Premere per tornare alla pagina
gestione download</a><br>';
			} else {
				echo '<p align="center" class="testo_avviso">Allegato NON inserito
nel database - Riprovare';
			}
		} else {
			echo '<p align="center" class="testo_avviso">Allegato NON
inserito';
		}
		unlink($UploadedFile);
	} else {
		echo '<p align="center" class="testo_avviso">Nessun File presente';
	}
	$db->close();
?>
</body>
</html>

 Ecco il codice:
Ti suggerisco di riscrivere il codice seguendo quanto suggerito dal
manuale ufficiale:
http://www.php.net/manual/en/features.file-upload.php
Ad esempio, NON utilizzare copy() ma la funzione apposita
move_uploaded_file().
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/


 Vieni a fare uno stage con noi:
http://www.creativepark.it/stage/
Cool! funziona........
GRAZIE!