Upload via PHP, Dateinameüberprüfung.

  • Themenstarter Themenstarter FortunaFan
  • Beginndatum Beginndatum
F

FortunaFan

Hallo,

Ich bin gerade dabei dieses Tutorial zu machen hier. Es funktioniert auch alles Perfekt. Ich hätte aber gene noch eine Zusatzfunktion. Es ist so, dass Bilder/Dateien ersetzt werden, wenn sie denn gleichen Namen tragen. Ist es möglich, das wenn man eine Datei hochlädt, diese aber schon auf dem Server vorhanden ist also den gleichen Namen trägt, automatisch die Datei die ich hochladen will umgenannt wird?

Ich hoffe man versteht was ich möchte wenn nicht, haut mir einen auf den Deckel.

Mit freundlichen Grüßen,
Daniel "FortunaFan" Schlosser
 
PHP:
 if (file_exists($path . $_FILES['userfile']['name'])) 
 { 
 	   echo "<center><b><font color=red>Es existiert bereist eine Datei mit diesem Dateinamen!</font></b></center><br>\n"; 
 
 			exit; 
 		}

Versuchs mal
 
Naja, er überschreibt es trotzdem.

PHP:
<?php 

$tempname = $_FILES['file']['tmp_name']; 
$name = $_FILES['file']['name']; 

$type = $_FILES['file']['type']; 
$size = $_FILES['file']['size']; 

if($type != "image/gif" && $type != "image/pjpeg") { 
$err[] = "nur gif und jpeg Dateien dürfen hochgeladen werden."; 
} 
if($size > "150000") { 
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 150kb!"; 
} 
if (file_exists($path . $_FILES['userfile']['name'])) 
{ 
echo "<center><b><font color=red>Es existiert bereist eine Datei mit diesem Dateinamen!</font></b></center><br>\n";  
} 
if (file_exists($path . $_FILES['userfile']['name'])) 
{ 
       echo "<center><b><font color=red>Es existiert bereist eine Datei mit diesem Dateinamen!</font></b></center><br>\n"; 

            exit; 
        } 

if(empty($err)) { 
copy("$tempname", "$name"); 
echo "Die Datei <a href='http://fortunaclub.de/images/$name'>http://fortunaclub.de/images/$name</a> wurde erfolgreich hochgeladen!"; 
} 
else { 
foreach($err as $error) 
echo "$error<br>"; 
} 
?>


: (

Mfg, FortunaFan
 
Ist ja auch kein Wunder, dass er es ueberschreibt.
Du checkst ob das File da ist, wenn ja gibst Du aus dass es existiert.
Danach ueberschreibst Du mit copy() das File dann.
Probier's mal nach dem Schema:
PHP:
if (fileexists(...))
{
printf("gibt's schon");
}
else
{
copy(...);
printf("Tadaaa!");
}

Nachtrag: Warum 2 mal:
PHP:
if (file_exists($path . $_FILES['userfile']['name']))
?
 
Zurück