- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Script] Classe per l'upload
-
[Script] Classe per l'upload
'Sera a tutti e benvenuti in questo nuovo script!
Si tratta di uno script per l'upload, più precisamente una classe...Ovvero un insieme di funzioni!
Lo script è abbastanza commentato, quindi credo non ci sia bisogno di spiegazioni...
Ecco il codice :
class.upload.php :
[php]<?php
##################################PHP CLASS
CLASSE PER L'UPLOAD
TUTORIAL E GUIDA ALL'USO
IL NET-SURFER
##################################
class upload{//Il nome della classe
public $files;//Variabile pubblica di classe contenente il file
public $dir;//Variabile pubblica di classe contenente la cartella
public $max_size;//Variabile pubblica di classe contenente la dimensione massima dei files
public $ext;//Variabile pubblica di classe contenente l'estensione del file
public $ammissed_ext;//Variabile pubblica di classe contenente l'array con le estensioni accettate
public $error;//Variabile pubblica di classe contenente gli errori
public $complete;//Variabile pubblica di classe contenente il path sul disco dell'immagine
public $link;//Variabile pubblica di classe contenente l'URL dell'immagine
function load($esito,$err = ""){//Funzione load .Prevede due variabili :
//esito(true o false, true se non c'è errore, false se c'è);
//Err : se esito è false allora dentro contiene l'errore.Altrimenti sarà vuotoif(empty($err) && $esito = true){//Se non ci sono errori e l'esito è ok
$this->error = "";
if(!$this->is_ammissed_file()){ //Qui si fa uso di una funzione interna alla classe
//Con $this->miafunc(); apriamo la funzione.Se la classe è statica utilizzeremo self::miafunc();
$this->error[] = "Estensione non accetta!";//Aggiungiamo un errore nell'array
}if(empty($this->error)){
{
$this->files['name'] = str_ireplace(" ","_",$this->files['name']);//Eliminiamo gli spazi e sostituiamoli con -$id = 0;
if(file_exists($this->dir.$id."".$this->files['name'])){//Se esiste il file con quel nome..
while(file_exists($this->dir.$id."".$this->files['name'])){//Finchè esiste il file con quel nome...$id++;//incrementa l'id
$this->complete = $this->dir.$id."_".$this->files['name']; //Crea il file con il nome : n_nomefile.ext dove n sta per un numero}
if(!@move_uploaded_file($this->files['tmp_name'],$this->complete)){ //Se l'upload è andato a buon fine...
$this->error[] = "Impossibile copiare il file nella directory";
}
$this->link = "http://".$_SERVER['SERVER_NAME'].substr($SERVER['REQUEST_URI'],0,-9).$this->complete; //Crea il link!
}else{//Se non esiste un file con quel nome...
if(!@move_uploaded_file($this->files['tmp_name'],$this->dir.$id."".$this->files['name']))//Upload!
{$this->error[] = "Impossibile copiare il file nella directory";
}
$this->link = "http://".$_SERVER['SERVER_NAME'].substr($SERVER['REQUEST_URI'],0,-9).$this->dir.$id."".$this->files['name'];
}}
}
else{
$this->error[] = $err;//Altrimenti aggiunge l'errore
}}
}function set_file_ext($_resource_file_name){//Funzione che restituisce l'estensione del file
$ext_file = explode("." , $_resource_file_name);//Dividiamo la stringa in tante parti quante sono i punti + 1
//ES: $stringa_punti = "ciao.mi.chiamo.valerio";
//$stringa= explode(".",$stringa);
//$stringa contiene:
//$stringa[0] = "ciao"
//$stringa[1] = "mi"
//$stringa[2] = "chiamo"
//$stringa[3] = "valerio"
$count_ext_files = count($ext_file)-1;//Contiamo il numero di elementi nell'array
//ES: $array = Array("Ciao","xx","xxxx","jjb");
//$count = count($array);
//Restituisce 4
$myext = $ext_file[$count_ext_files];
return $myext;//La funzione darà come risultato l'estensione}
function is_ammissed_file(){//Funzione che restituisce true o false se l'estensione dei file è accettata
$this->ext = $this->set_file_ext($this->files['name']); //Tramite la nostra funzione creata prima settiamo l'estensione
if(in_array(strtolower($this->ext),$this->ammissed_ext))//Se l'estensione è contenuta nell'array della estensioni(con la funzione strtolower tutti i caratteri diventano in minuscolo(es .PHP diventa .php)
{
return true;//Restituisce true
}else{
return false;//Restituisce false
}}
function __construct($files,$dir,$max_size,$ammissed_ext){// __construct, funzione che parte alla dichiarazione della classe
//Da notare l'uso di $this->files invece di $files
// la variabile globale di classe $this-> si usa nelle funzioni della classe
//nelle classi di tipo statico non si utilizza $this-> ma self::
//Assegnamo ad ogni variabile di classe il rispettivo contenuto
$this->files = $files;
$this->dir = $dir;
$this->max_size = $max_size;
$this->ammissed_ext = $ammissed_ext;
switch($this->files['error']){ //Fa uno switch degli errori presenti all'interno della variabile error di $this->files
case UPLOAD_ERR_NO_FILE://Se non è stato selezionato alcun file...
$this->error[] = "Non è stato selezionato alcun file!";
$this->load(false,$this->error);
break;case UPLOAD_ERR_INI_SIZE://Se si superano le dimensioni massime secondo php.ini...
$this->error[] = "è stato riscontrato un errore!Il file è troppo grande secondo le impostazioni del file php.ini!";
$this->load(false,$this->error);
break;case UPLOAD_ERR_FORM_SIZE://Se si superano le dimensioni massime di max_file_size...
$this->error[] = "Le dimensioni superano il valore massimo consentito!";
$this->load(false,$this->error);
break;case UPLOAD_ERR_PARTIAL://Se si riscontra un errore nell'upload...
$this->error[] = "è stato riscontrato un errore nell'upload!";
$this->load(false,$this->error);
break;case UPLOAD_ERR_OK://Nessun errore
$this->load(true);
break;default: //S c'è un errore sconosciuto...
$this->error[] = "è stato riscontrato un errore sconosciuto!";
$this->load(false,$this->error);
break;
}} }
?>[/php]Utilizzo :
[php]<?php
##################################PHP CLASS
CLASSE PER L'UPLOAD
TUTORIAL E GUIDA ALL'USO
IL NET-SURFER
##################################
$max_file_size = 102400;//Dimensione massima di un file.102400 Bytes = 100 KiloByte;1024 Bytes = 1 KiloByte
$image_type = array('jpeg', 'jpg', 'png', 'gif', 'bmp'); //Estensioni accettate.Badate bene di scriverle in minuscolo!
if(isset($_FILES['file'])){//Se esiste $_FILES
require "class.upload.php";//includiamo la classe
$obj = new upload($_FILES['file'],"car/",$max_file_size,$image_type); //Inizializziamo la classe!
/*Il primo parametro è il file
il secondo la cartella con le immagini(E ricordate di inserire / dopo il nome);
Il terzo parametro è il limite massimo di grandezza dei files
il quarto parametro è l'array contenente le estensioni accettate
*/
#Controllo degli errori
if(!empty($obj->error)){//Se $obj->error (variabile di classe) non è vuoto, vuol dire che ci sono errori
foreach($obj->error as $err){//Scorre l'array!
echo $err."<br />";
}
exit;//Esce dallo script se ci sono errori
}else{ //Altrimenti...
echo "Il link della tua immagine : <a href = "".$obj->link."">".$obj->link."</a>";
}}
?>
<form enctype="multipart/form-data" action="index.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size; ?>" />
<input type="file" name="file" />
<input type="submit" name="upload" value="Upload"></form>[/php]Features :
- Controllo dell'estensione
- Controllo MASSIMO di ogni errore
- Controlla se il file con quel nome già esiste : in caso affermativo altera il nome con un numero
- Restituisce il link con l'immagine
- Codice chiaro e ipercommentato
Se volete aiuto per il codice o , perchè no, darmi consigli, fatevi avanti!
Ola!:)
-
[CENTER]IMPORTANTI MODIFICHE!
[LEFT]Ho apportato delle importanti modifiche allo script...
Da adesso non c'è bisogno di utilizzare foreach per gli errori, la classe agirà da sola...Quindi bisogna solo limitarsi al consueto
[php]$obj = new upload($_FILES['file'],"car/",$max_file_size,$image_type);[/php]E niente più!
Ecco il codice della classe :
[php]<?php##################################
PHP CLASS 1.2
CLASSE PER L'UPLOAD
TUTORIAL E GUIDA ALL'USO
IL NET-SURFER
##################################
class upload{//Il nome della classe
public $files;//Variabile pubblica di classe contenente il file
public $dir;//Variabile pubblica di classe contenente la cartella
public $max_size;//Variabile pubblica di classe contenente la dimensione massima dei files
public $ext;//Variabile pubblica di classe contenente l'estensione del file
public $ammissed_ext;//Variabile pubblica di classe contenente l'array con le estensioni accettate
public $error;//Variabile pubblica di classe contenente gli errori
public $complete;//Variabile pubblica di classe contenente il path sul disco dell'immagine
public $link;//Variabile pubblica di classe contenente l'URL dell'immagine
public $my_err;//Variabile pubblica di classe contenente l'errore finale
function load($esito,$err = ""){//Funzione load .Prevede due variabili :
//esito(true o false, true se non c'è errore, false se c'è);
//Err : se esito è false allora dentro contiene l'errore.Altrimenti sarà vuotoif(empty($err) && $esito = true){//Se non ci sono errori e l'esito è ok
$this->error = "";
if(!$this->is_ammissed_file()){ //Qui si fa uso di una funzione interna alla classe
//Con $this->miafunc(); apriamo la funzione.Se la classe è statica utilizzeremo self::miafunc();
$this->error[] = "Estensione non accetta!";//Aggiungiamo un errore nell'array
}if(empty($this->error)){
{
$this->files['name'] = str_ireplace(" ","_",$this->files['name']);//Eliminiamo gli spazi e sostituiamoli con -$id = 0;
if(file_exists($this->dir.$id."".$this->files['name'])){//Se esiste il file con quel nome..
while(file_exists($this->dir.$id."".$this->files['name'])){//Finchè esiste il file con quel nome...$id++;//incrementa l'id
$this->complete = $this->dir.$id."_".$this->files['name']; //Crea il file con il nome : n_nomefile.ext dove n sta per un numero}
if(!@move_uploaded_file($this->files['tmp_name'],$this->complete)){ //Se l'upload è andato a buon fine...
$this->error[] = "Impossibile copiare il file nella directory";
}
$this->link = "http://".$_SERVER['SERVER_NAME'].substr($SERVER['REQUEST_URI'],0,-9).$this->complete; //Crea il link!
}else{//Se non esiste un file con quel nome...
if(!@move_uploaded_file($this->files['tmp_name'],$this->dir.$id."".$this->files['name']))//Upload!
{$this->error[] = "Impossibile copiare il file nella directory";
}
$this->link = "http://".$_SERVER['SERVER_NAME'].substr($SERVER['REQUEST_URI'],0,-9).$this->dir.$id."".$this->files['name'];
}}
}
else{
$this->error[] = $err;//Altrimenti aggiunge l'errore
}}
$this->no_error() ? print($this->link):print("Sono stati riscontrati i seguenti errori :
".$this->my_err);
}function set_file_ext($_resource_file_name){//Funzione che restituisce l'estensione del file
$ext_file = explode("." , $_resource_file_name);//Dividiamo la stringa in tante parti quante sono i punti + 1
//ES: $stringa = "ciao.mi.chiamo.valerio";
//$stringa_array = explode(".",$stringa);
//$stringa contiene:
//$stringa[0] = "ciao"
//$stringa[1] = "mi"
//$stringa[2] = "chiamo"
//$stringa[3] = "valerio"
$count_ext_files = count($ext_file)-1;//Contiamo il numero di elementi nell'array
//ES: $array = Array("Ciao","xx","xxxx","jjb");
//$count = count($array);
//Restituisce 4
$myext = $ext_file[$count_ext_files];
return $myext;//La funzione darà come risultato l'estensione}
function is_ammissed_file(){//Funzione che restituisce true o false se l'estensione dei file è accettata
$this->ext = $this->set_file_ext($this->files['name']); //Tramite la nostra funzione creata prima settiamo l'estensione
if(in_array(strtolower($this->ext),$this->ammissed_ext))//Se l'estensione è contenuta nell'array della estensioni(con la funzione strtolower tutti i caratteri diventano in minuscolo(es .PHP diventa .php)
{
return true;//Restituisce true
}else{
return false;//Restituisce false
}}
function __construct($files,$dir,$max_size,$ammissed_ext){// __construct, funzione che parte alla dichiarazione della classe
//Da notare l'uso di $this->files invece di $files
// la variabile globale di classe $this-> si usa nelle funzioni della classe
//nelle classi di tipo statico non si utilizza $this-> ma self::
//Assegnamo ad ogni variabile di classe il rispettivo contenuto
$this->files = $files;
$this->dir = $dir;
$this->max_size = $max_size;
$this->ammissed_ext = $ammissed_ext;
switch($this->files['error']){ //Fa uno switch degli errori presenti all'interno della variabile error di $this->files
case UPLOAD_ERR_NO_FILE://Se non è stato selezionato alcun file...
$this->error[] = "Non è stato selezionato alcun file!";
$this->load(false,$this->error);
break;case UPLOAD_ERR_INI_SIZE://Se si superano le dimensioni massime secondo php.ini...
$this->error[] = "è stato riscontrato un errore!Il file è troppo grande secondo le impostazioni del file php.ini!";
$this->load(false,$this->error);
break;case UPLOAD_ERR_FORM_SIZE://Se si superano le dimensioni massime di max_file_size...
$this->error[] = "Le dimensioni superano il valore massimo consentito!";
$this->load(false,$this->error);
break;case UPLOAD_ERR_PARTIAL://Se si riscontra un errore nell'upload...
$this->error[] = "è stato riscontrato un errore nell'upload!";
$this->load(false,$this->error);
break;case UPLOAD_ERR_OK://Nessun errore
$this->load(true);
break;default: //S c'è un errore sconosciuto...
$this->error[] = "è stato riscontrato un errore sconosciuto!";
$this->load(false,$this->error);
break;
}}
function no_error(){ //Funzione che controlla se ci sono errori
if(!empty($this->error)){//Se $this->error (variabile di classe) non è vuoto, vuol dire che ci sono erroriforeach($this->error as $err){//Scorre l'array ...
$this->my_err .= $err."<br />"; //E lo riempe!
}
return false;
}else{ //Altrimenti...
$this->link = "Il link della tua immagine : <a href = "".$this->link."">".$this->link."</a>";
return true;
}}
}?> [/php]Ecco la parte importante :
[php]function no_error(){ //Funzione che controlla se ci sono errori
if(!empty($this->error)){//Se $this->error (variabile di classe) non è vuoto, vuol dire che ci sono erroriforeach($this->error as $err){//Scorre l'array ...
$this->my_err .= $err."<br />"; //E lo riempe!
}
return false;
}else{ //Altrimenti...
$this->link = "Il link della tua immagine : <a href = "".$this->link."">".$this->link."</a>";
return true;
}}[/php]Per il resto, il codice della index sarà così:
[php]<?php
##################################PHP CLASS 1.2
CLASSE PER L'UPLOAD
TUTORIAL E GUIDA ALL'USO
IL NET-SURFER
##################################
$max_file_size = 102400;//Dimensione massima di un file.102400 Bytes = 100 KiloByte;1024 Bytes = 1 KiloByte
$image_type = array('jpeg', 'jpg', 'png', 'gif', 'bmp'); //Estensioni accettate.Badate bene di scriverle in minuscolo!
if(isset($_FILES['file'])){//Se esiste $_FILES
require "class.upload.php";//includiamo la classe
$obj = new upload($_FILES['file'],"car/",$max_file_size,$image_type); //Inizializziamo la classe!
/*Il primo parametro è il file
il secondo la cartella con le immagini(E ricordate di inserire / dopo il nome);
Il terzo parametro è il limite massimo di grandezza dei files
il quarto parametro è l'array contenente le estensioni accettate
*/
}?>
<?php
echo "Estensioni accettate : ";//Scrive, tramite foreach, tutte le estensioni accettate
foreach($image_type as $type){
echo $type." ";
}
?>
<form enctype="multipart/form-data" action="index.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size; ?>" />
<input type="file" name="file" />
<input type="submit" name="upload" value="Upload"></form>[/php]Ciao!
[/LEFT]
[/CENTER]
-
Ciao, ho dei dubbi sull'utilizzo me lo fai un esempi d'uso della classe? pure in pvt, grazie!!!!
-
ho dei dubbi sull'utilizzo me lo fai un esempi d'uso della classe?
Certamente!
pure in pvt, grazie!!!!
Meglio pubblicamente, così anche altri che si trovano in difficoltà come te potranno risolvere;)
Iniziamo!
Questa classe è molto semplice da utilizzare, sopratutto nella nuova versione, che non richiede il foreach degli errori.
Considera questo codice :<form enctype="multipart/form-data" action="index.php" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size; ?>" /> <input type="file" name="file" /> <input type="submit" name="upload" value="Upload"> </form>
Per eseguire l'upload di un immaigine , bisogna prima usare l'html e creare un form.
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size; ?>" />
Questo è un campo nascosto, ma serve perchè deve specificare la massima grandezza che un file uppato può avere.
Anche se molti browser ignorano questo campo, è bene inserirlo, perchè poi ci penserà PHP a vedere se il file pesa eccessivamente.
Detto questo, passiamo a php.
Bisogna prima includere la classe :
[PHP]<?php
require "class.upload.php";//includiamo la classe
?>[/PHP]
Dopodichè , istanziamo 2 variabili :
[PHP]$max_file_size = 102400;//Dimensione massima di un file.102400 Bytes = 100 KiloByte;1024 Bytes = 1 KiloByte
$image_type = array('jpeg', 'jpg', 'png', 'gif', 'bmp'); //Estensioni accettate.Badate bene di scriverle in minuscolo![/PHP]
$max_file_size è la variabile che contiene un numero ce sarà la massima grandezza in bytes di un file.
$image_type è un array che contiene tutti i tipi di estensioni di un file(raw,jpg,jpeg,bmp, ecc...).
Prima di effettuare l'upload, è bene controllare che il file esista :
[PHP]if(isset($_FILES['file'])){//Se esiste $_FILES[/PHP]
Adesso upload!
[PHP]$obj = new upload($_FILES['file'],"car/",$max_file_size,$image_type); //Inizializziamo la classe![/PHP]
Dobbiamo inserire la variabile che contiene il file, la cartella di destinazione e le due variabili in precedenza istanziate.
Non serve nient'altro!
Quindi, il codice essenziale sarà :
[PHP]<?php
$max_file_size = 102400;
$image_type = array('jpeg', 'jpg', 'png', 'gif', 'bmp');
if(isset($_FILES['file'])){
require "class.upload.php";
$obj = new upload($_FILES['file'],"car/",$max_file_size,$image_type);
}
?>
<form enctype="multipart/form-data" action="index.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size; ?>" />
<input type="file" name="file" />
<input type="submit" name="upload" value="Upload"></form>[/PHP]
Spero di essermi fatto capire;)
Per qualsiasi dubbio, posta!:)
Ola!
-
Ciao ma se io non voglio inserire un'immagine ma un file zip, rar o exe basta cambiare l'estensioni nella $image_type, giusto?
Rispondi perfavore
-
Esattamente;)
-
Mi sto sbizzarrendo con questa classe.
Già te li ho fatti i complimenti per questa classe e te li rinnovo.A questo punto pero' avrei una domanda:
come lo struttureresti un multi-upload utilizzando questa classe?
-
Ciao sam...
Perdona la mia prolungata assenza, ma la scuola non mi lascia tregua!:o
Comunque, per il multiupload basta fare così :
[PHP]<form enctype="multipart/form-data" action="index.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size; ?>" />
<input type="file" name="file1" />
<input type="file" name="file2" />
<input type="submit" name="upload" value="Upload"></form>[/PHP]
E così :
[PHP]if(isset($_FILES['file1'])){//Se esiste $_FILES
require "class.upload.php";//includiamo la classe
$obj = new upload($_FILES['file1'],"car/",$max_file_size,$image_type); //Inizializziamo la classe!}
if(isset($_FILES['file2'])){//Se esiste $_FILES
require "class.upload.php";//includiamo la classe
$obj = new upload($_FILES['file2'],"car/",$max_file_size,$image_type); //Inizializziamo la classe!}[/PHP]
Però si potrebbe anche usare
[PHP]<input type="file" name="file[]" />[/PHP]
Però non l'ho mai usato...Non so come si fa...
-
@ilnetsurfer said:
Perdona la mia prolungata assenza, ma la scuola non mi lascia tregua!:o
Scusarti di che?
Son io e tutti gli altri utenti a cui è servita questa classe che dobbiamo ringraziare te.@ilnetsurfer said:
Però si potrebbe anche usare
[php]<input type="file" name="file[]" />[/php]Però non l'ho mai usato...Non so come si fa...
Credo, e c'è un'alta probabilità che stia sbagliando, che in questo caso bisogna implementare un Js o similare per l'associazione (tipo quando permetti di scegliere quanti campi upload file vuoi fare - Aggiungi un altro - ). Arrivati alla classe poi si fa il count e quindi si cicla il risultato. Ma non ne son certissimo.
-
Ecco, ho questo script per aggiungere e rimuovere campi con js:
<!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" lang="it"><head><title>Aggiungere campi in un modulo - Esempio JavaScript scaricato da HTML.it</title> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-1"> <meta http-equiv="Content-Language" content="it"> <script type="text/javascript"> <!-- var arrInput = new Array(0); var arrInputValue = new Array(0); function addInput() { //arrInput.push(createInput(arrInput.length)); arrInput.push(arrInput.length); //arrInputValue.push(arrInputValue.length); arrInputValue.push(""); display(); } function display() { document.getElementById('parah').innerHTML=""; for (intI=0;intI<arrInput.length;intI++) { document.getElementById('parah').innerHTML+=createInput(arrInput[intI], arrInputValue[intI]); } } function saveValue(intId,strValue) { arrInputValue[intId]=strValue; } function createInput(id,value) { return "<input type='text' id='test name='file[]' "+ id +"' onChange='javascript:saveValue("+ id +",this.value)' value='"+ value +"'><br>"; } function deleteInput() { if (arrInput.length > 0) { arrInput.pop(); arrInputValue.pop(); } display(); } // --> </script></head><body> <br><br> <a href="javascript:addInput()">Aggiungi un campo al modulo</a><br> <a href="javascript:deleteInput()">Rimuovi un campo dal modulo</a> <div align="center"> <p id="parah"></p> </div> </body></html>
E questa è la funzione interessata :
[HTML]function createInput(id,value) {
return "<input type='text' id='test name='file[]' "+ id +"' onChange='javascript:saveValue("+ id +",this.value)' value='"+ value +"'><br>";
}
[/HTML]
Si dovrebbe ciclare $_FILES['file']....Il fatto è che vorrei anche provare, ma ho formattato da poco il pc e php non ce l'ho..Adesso installo un pacchetto così faccio due prove...Ti faccio sapere più tardi!:)
Ola!
-
Ciao ti volevo chiedere una cosa, ma se io volessi che quando l'utente (ovviamente registrato) carichi un immagine ed essa viene rinominata con l'id del utnete, come dovrei fare?
(Cosi poi posso richiamarla e creare un avatar).Grazie Salvatore.
-
Ciao Zomer,
Sostituendo:
[php]
if(!@move_uploaded_file($this->files['tmp_name'],$this->dir.$id."_".$this->files['name']))//Upload![/php]
Con:
[php]
if(!@move_uploaded_file($this->files['tmp_name'],$this->dir.$id."_".$VariabileConID))//Upload![/php]
Dovrebbe funzionare.
-
Allora credo che funzioni ma una volta che l'utente carica l'immagine poi dopo come posso prenderla? dovrei fare qualcosa del tipo <IMG SRC="avatar/ID.gif"> non trovi? :bho: ma cosi facnedo richimarei l'id del utente che visualizza l'immagine qundi se l'untete A si conette visualizza la foto A perche il suo id chiama la foto A.gif e se l'utnete B vuole visitare la pagina dell'untete A vedera l'immagine B.gif!!!! come posso risolvere questo probolema?
-
Devi semplicemente fare cosi:
[php]
<IMG SRC="avatar/<?php echo $VariabileConID; ?>.gif">[/php]
-
Si funziona...ma ci sono dei problemi...
-
Quando carico l'immagine è la visualizzo l'immagine, (che è una foto) è nella sua dimensione reale, ovvero gigantesca! a tutto schermo, potrei applicare dei semplici tag height e width...ma l'immagine potrebbe essere schiacciata.
-
Questa è una cosa, che credo di poter risolver,e ma vorrei ugualtmente un consiglio...come posso modificare l'estensione del immagine, perchè se non no riuscirei a richiamarla
-
-
Scusate ma dove va inserita la directory dove deve essere copiato il file?
Grazie in anticipo.
-
Ciao pusherxx, il file che contiene la classe lo puoi mettere dove vuoi, l'importante è che assegni il giusto percorso quando la richiami con il:
[php]require "class.upload.php";[/php]
-
No, volevo sapere dove devo inserire la directory su cui verranno salvate le foto!
-
Scusate, forse non sono stato chiaro e mi scuso, m'interessa sapere il campo, del codice PHP, in cui inserire la directory dove vanno a finire le immagini che andiamo ad upload-are!
Scusate ancora e grazie in anticipo!:bho::bho:
-
Nell'inizializzazione della classe.
$obj = new upload($_FILES['file'],**"car/"**,$max_file_size,$image_type); //Inizializziamo la classe!