Ragazzi ho appena letto questa Pillola e preso spunto da essa per uplodare un file ma sto incontrando alcuni problemi.
Vi posto il mi codice:
Codice 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>NoiDelBds</title>
<script type="text/javascript" language="javascript" src="inc/function.js"></script>
</head>
<?
switch($_GET['action']) {
default:
?>
<body>
Modifica Profilo</p>
<form name="modifica_profilo" action="modifica_profilo.php?action=controllo" enctype="multipart/form-data" method="post">
Nome: <input type="text" size="20" maxlength="15" name="nome" />
Cognome: <input type="text" size="20" maxlength="15" name="cognome" />
Username:* <input type="text" size="25" maxlength="20" name="username" onchange="return controllo_username();" />
Password:* <input type="password" size="15" maxlength="10" name="password" />
Conferma Password:* <input type="password" size="15" maxlength="10" name="conferma_password" onchange="return controllo_password_conferma();" />
Email:* <input type="text" size="25" maxlength="30" name="email" onchange="return convalida_email();" />
Sesso: <input type="radio" name="sesso" value="m" />Maschio <input type="radio" name="sesso" value="f" />Femmina
Foto: <input type="file" name="foto" value="Cerca file" />
Non permettere agli altri utenti di vedere il mio indirizzo email: <input type="checkbox" name="email_visible" value="1" />
(* Campi Obbligatori)
Per completare la registrazione, vi verrà inviata un'email con le istruzioni al vostro indirizzo email.
<input name="registrami" type="submit" value="Modifica Profilo" />
</form>
</body>
<?
break;
case 'controllo':
?>
<body>
Controllo modifica Profilo</p>
<?
include("inc/upload.class.php");
include("inc/image.class.php");
$foto = $_POST['foto'];
$up = new FileUpload('./tmp');
$up->Upload($_FILES['foto']); //gli mandiamo il file che arriva dal nostro form
//$up->filename è il nome del file uploadato o il 'nuovo_nome' del file
//in caso abbiamo usato il metodo RenameFile della classe FileUpload.
?>
</body>
<?php
break;
}
?>
</html>
upload.class.php
Codice PHP:
<?
class FileUpload{
var $up_dir; //la directory temporanea in cui verrà uploadata l'img
var $filename; //il nome del file
var $new_filename; //il nuovo nome del file se vogliamo rinominarlo
function FileUpload($up_dir){
$this->up_dir = $up_dir;
}
function RenameFile($new_filename){
$this->new_filename = $new_filename;
}
function Upload($files){
if(!file_exists($this->up_dir))
die('La directory non esiste!');
$this->filename = ($this->new_filename) ? $this->new_filename :$files['name'];
if(trim($files["name"]) == "")
die("Non hai indicato il file da uploadare!");
if(is_uploaded_file($files["tmp_name"])){
move_uploaded_file($files["tmp_name"],$this->up_dir."/".$this->filename)
or die("Impossibile spostare il file;controlla l'esistenza o i permessi della directory!");
}else
die ("Problemi nell'upload del file ".$files["name"]);
}
function DeleteFile(){
unlink($this->up_dir . '/' . $this->filename);
}
}
?>
In pratica non ricevo nessun errore ma il file effettivamente non viene uplodato.
i permessi della cartella tmp sono impostati a 777 quindi non ci dovrebbero essere problemi.
Non so più che fare.
Potete aiutarmi??