Ho un uploader xò vorrei modificare lo script nel senso ke se una persona uppa un'immagine con lo stesso nome e estensione poi il file viene automaticamente sostituito, c'è un modo ke lo script dice ke il file c'è già e di rinonimarlo?
Printable View
Ho un uploader xò vorrei modificare lo script nel senso ke se una persona uppa un'immagine con lo stesso nome e estensione poi il file viene automaticamente sostituito, c'è un modo ke lo script dice ke il file c'è già e di rinonimarlo?
controllane l'esistenza con file_exists() e in caso rinominalo (es aggiungici un '_' o un numero progressivo: 1, 2, 3, ...).
nn sò come fare xkè se poi lo metto in modo errato nn vorrei ke poi nn funzionasse o mi dice sempre ke il file esiste già!
[code:1:b26e996a63]<?php
$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($ _SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER[ 'PHP_SELF'];
$upload_dir = "upload_files/";
$upload_url = $url_dir."/upload_files/";
$message ="";
//create upload_files directory if not exist
//If it does not work, create on your own and change permission.
if (!is_dir("upload_files")) ; {
die ("upload_files directory doesn't exist");
}
if ($_FILES['userfile']) {
$message = do_upload($upload_dir, $upload_url);
}
else {
$message = "Benvenuto nell'uploader di fabio84xp2";
}
print $message;
function do_upload($upload_dir, $upload_url) {
$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_type = $_FILES['userfile']['type'];
$file_size = $_FILES['userfile']['size'];
$result = $_FILES['userfile']['error'];
$file_url = $upload_url.$file_name;
$file_path = $upload_dir.$file_name;
//File Name Check
if ( $file_name =="") {
$message = "Invalid File Name Specified";
return $message;
}
//File Size Check
else if ( $file_size > 500000) {
$message = "The file size is over 500K.";
return $message;
}
//File Type Check
else if ( $file_type == "text/plain" ) {
$message = "Sorry, You cannot upload any script file" ;
return $message;
}
$result = move_uploaded_file($temp_name, $file_path);
$message = ($result)?"Ecco il link <a href=$file_url>$file_url</a>" :
"Somthing is wrong with uploading a file.";
return $message;
}
?>
<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
Uppa un'immagine<input type="file" id="userfile" name="userfile">
<input type="submit" name="upload" value="Upload">
</form>[/code:1:b26e996a63]
attendo
Aiutooooooooooooo!!!!!!!!!
:cry: :cry:
prova a togliere questo: //File Type Check
else if ( $file_type == "text/plain" ) {
$message = "Sorry, You cannot upload any script file" ;
return $message;
}
guarda io per andare a colpo sicuro uso sto metodo (il time() non sarà mai uguale!):
if (file_exists("$upload_dir$file_name")) {
$file_name = "".time()."".$file_name;
}
nn succede niente
il codice che ti ho detto prima devi inserirlo PRIMA di:Citazione:
Originalmente inviato da fabio84xp2
[code:1:3e5bad16eb]$file_url = $upload_url.$file_name;
$file_path = $upload_dir.$file_name; [/code:1:3e5bad16eb]
altrimenti è ovvio ke non cambia nulla!!!
Grazie ora si ke funziona!!!!!! :lol:Citazione:
Originalmente inviato da Evcz
Senti un ultima cosa, se io vorrei modificarlo cioè far uppare solo dei tipi di estensioni ke voglio io come faccio?
Cioè vorrei far uppare solo:
bmp,gif,jpg
C'è un modo?
Grazie attendo risp
per quello io uso questo controllo:Citazione:
Originalmente inviato da fabio84xp2
[code:1:c59379dc92]$lunghezza = strlen($file_name);
$inizioEstensione = $lunghezza-4;
$estensione = substr($file_name, $inizioEstensione, $lunghezza);
if ($estensione == "jpeg"){
$estensione = ".jpeg";
}[/code:1:c59379dc92]
ora in $estensione hai l'estensione del file
basta ke ti metti un
[code:1:c59379dc92]if ($estensione == ".jpg" || $estensione == ".jpeg" || $estensione == ".png" || $estensione == ".gif" || $estensione == ".bmp") {[/code:1:c59379dc92]
e sei a cavallo :wink:
ah.... fai attenzione a controllare il tipo di file prima dell'upload... mai fidarsi delle sole estensioni! ;)
ok, grazie xò vorrei capire qsti codici dove inserirli
Ok qsto è lo scritp ke ho ora:
[code:1:88622e1329]<?php
$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($ _SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER[ 'PHP_SELF'];
$upload_dir = "upload_files/";
$upload_url = $url_dir."/upload_files/";
$message ="";
//create upload_files directory if not exist
//If it does not work, create on your own and change permission.
if (!is_dir("upload_files")) ; {
die ("upload_files directory doesn't exist");
}
if ($_FILES['userfile']) {
$message = do_upload($upload_dir, $upload_url);
}
else {
$message = "Benvenuto nell'uploader di fabio84xp2";
}
print $message;
function do_upload($upload_dir, $upload_url) {
$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_type = $_FILES['userfile']['type'];
$file_size = $_FILES['userfile']['size'];
$result = $_FILES['userfile']['error'];
if (file_exists("$upload_dir$file_name&q uot;)) {
$file_name = "".time()."".$file_nam e;
}
$file_url = $upload_url.$file_name;
$file_path = $upload_dir.$file_name;
//File Name Check
if ( $file_name =="") {
$message = "Invalid File Name Specified";
return $message;
}
//File Size Check
else if ( $file_size > 500000) {
$message = "The file size is over 500K.";
return $message;
}
//File Type Check
else if ( $file_type == "text/plain" ) {
$message = "Sorry, You cannot upload any script file" ;
return $message;
}
$result = move_uploaded_file($temp_name, $file_path);
$message = ($result)?"Ecco il link <a href=$file_url>$file_url</a>" :
"Somthing is wrong with uploading a file.";
return $message;
}
?>
<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
Uppa un'immagine<input type="file" id="userfile" name="userfile">
<input type="submit" name="upload" value="Upload">
</form>[/code:1:88622e1329]
ok ora vorrei aggiungere quei codici ke mi hai detto tu, xkè vorrei fare uppare solo i file jpg,bmp e gif dove li metto?
NN sono molto esperto xò vorrei anke capire gli script sai dove metterlo?Sotto qle riga?
Grazie ancora e scusa x il tempo!
prova così:
[code:1:63f471c4af]<?php
$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($ _SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER[ 'PHP_SELF'];
$upload_dir = "upload_files/";
$upload_url = $url_dir."/upload_files/";
$message ="";
//create upload_files directory if not exist
//If it does not work, create on your own and change permission.
if (!is_dir("upload_files")) ; {
die ("upload_files directory doesn't exist");
}
if ($_FILES['userfile']) {
$message = do_upload($upload_dir, $upload_url);
}
else {
$message = "Benvenuto nell'uploader di fabio84xp2";
}
print $message;
function do_upload($upload_dir, $upload_url) {
$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_type = $_FILES['userfile']['type'];
$file_size = $_FILES['userfile']['size'];
$result = $_FILES['userfile']['error'];
if (file_exists("$upload_dir$file_name&q uot;)) {
$file_name = "".time()."".$file_nam e;
}
$lunghezza = strlen($file_name);
$inizioEstensione = $lunghezza-4;
$estensione = substr($file_name, $inizioEstensione, $lunghezza);
if ($estensione == "jpeg"){
$estensione = ".jpeg";
}
$file_url = $upload_url.$file_name;
$file_path = $upload_dir.$file_name;
//File Name Check
if ( $file_name =="") {
$message = "Invalid File Name Specified";
return $message;
}
//File Size Check
else if ( $file_size > 500000) {
$message = "The file size is over 500K.";
return $message;
}
//File Type Check
else if ( $file_type == "text/plain" ) {
$message = "Sorry, You cannot upload any script file" ;
return $message;
}
//carica solo le immagini
else if (!($estensione == ".jpg" || $estensione == ".jpeg" || $estensione == ".png" || $estensione == ".gif" || $estensione == ".bmp")) {
$message = "Spiacenti, puoi caricare soltanto files jpg, jpeg, png, bmp e gif" ;
return $message;
}
$result = move_uploaded_file($temp_name, $file_path);
$message = ($result)?"Ecco il link <a href=$file_url>$file_url</a>" :
"Somthing is wrong with uploading a file.";
return $message;
}
?>
<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
Uppa un'immagine<input type="file" id="userfile" name="userfile">
<input type="submit" name="upload" value="Upload">
</form>[/code:1:63f471c4af]
ok perfetto!!!!!! :lol:
Thank you very much
:wink:Citazione:
Originalmente inviato da fabio84xp2