Azzurra IRC Network Forum

PHP: upload di files

Progeny · 26/01/2005 14:07 · #1
<?php
include('dbhead.php');

if(!isset($_COOKIE['id'])) {
die("Non hai effettuato il login!<br>Per accedere a questa pagina occorre essere identificati!<br>");
}

if(isset($_POST['Send_x'])) {
$my_id = $_COOKIE['id'];
$query = "SELECT regione FROM utenti WHERE id='$my_id'";
$result = mysql_query($query, $db);
$sql_data = mysql_fetch_object($result);
$code = strtolower(substr($sql_data->regione, 0, 2)) . $my_id;

/* Uploads dei files.. */
$dir = getcwd() . '/uploads/' . $code . '/';
if(isset($_FILES['cd']['tmp_name'])) {
if(move_uploaded_file($_FILES['cd']['tmp_name'], $dir . $_FILES['cd']['name'])) {
echo "Il file 1 e` stato correttamente uplodato.<br>";
echo "Tmp: " . $_FILES['cd']['tmp_name'] . "<br>";
echo "Dir: $dir<br>";
echo "DirF: " . $dir . $_FILES['cd']['name'] . "<br>";
} else {
echo "Si e` verificato un errore durante l`upload del file: " . $_FILES['cd']['error'] . "<br>";
}
}
if(isset($_FILES['card']['tmp_name'])) {
if(move_uploaded_file($_FILES['cd']['tmp_name'], $dir . $_FILES['cd']['name'])) {
echo "Il file 2 e` stato correttamente uplodato.<br>";
} else {
echo "Si e` verificato un errore durante l`upload del file: " . $_FILES['cd']['error'] . "<br>";
}
}
}

?>


la directory 'uploads/' ha permessi di scrittura, infatti con un'altra pagina PHP, usando la funzione mkdir (e specificando i permessi 0700) riesco a creare altre sotto directory con permessi di scrittura.
facendo la prova ad uplodare un file, non ricevo errori, tutto sembra filare liscio.. però il file non viene uplodato, non trovo nulla nella directory..
ho provado ad usare anche system("mv bla bla"); ma non ho risolto nulla
anche dal print_r($_FILES); sembra tutto ok..

idee?
Progeny · 26/01/2005 14:44 · #2
ftp> ls
200 PORT command successful
150 Opening ASCII mode data connection for file list
drwxr-xr-x 2 www www 512 Jan 23 22:02 Ab10
drwxr-xr-x 2 www www 512 Jan 23 21:59 Ba0
drwxr-xr-x 2 www www 512 Jan 23 22:01 Ve0
drwx------ 2 ftpmicrolab www 512 Jan 25 23:15 ca11
226 Transfer complete.


mhmm credo di aver capito (forse).. probabilmente bisogna impostare l'owner 'www' per la directory 'ca11' .. purtroppo quella dir l'ho creata prima di mettere nel file che esegue la registrazione, il mkdir($dir, 0700);
aspetto che il provider mi cambi i permessi :D

bye!