Datei beim upload nicht überschreiben!

hm, ich glaub die idee stimmt soweit.. aber umsetzung kann ich auch nciht helfen, bin eher auch noob..


mal probiert mit ner if-anweisung zu testen, ob ein bestimmtes file in dem ordner liegt?
 
Hi,

also ich brauche auch noch ein upload script...
kannst du es mir hier mal posten????
Bei mir funzt das speichern auf dem server nie.

das mit dem testen ob die datei vorhanden ist...
ziemlich simpel!

PHP:
$filepath = "$DOCUMENT_ROOT."/upload/";
$handle = opendir($filepath);

unset($files);
while($file = readdir($handle))
{
 if(ereg("^\.+$",$file)) $files[]= $file;
}

closedir($handle);

if(!in_array($upfile,$files)) //$upfile is der Dateiname der neuen Datei
{
//UPLOAD-SCRIPT
}
else
{
echo "Datei schon vorhanden!";
}

würd mich freuen wenn du deins mal postest!!

Grtz MrF
 
Zuletzt bearbeitet:
vielen dank erstmal und hier ist meins dann noch!


if ($file_name)
{
$path_to_file = "/usr/local/httpd/htdocs/page/upload/";
$location = $path_to_file.$file_name;
copy($file,$location);
}

mehr ist das nicht, hoffe habe nix vergessen!

cu
 
machs so...
PHP:
if ($file_name) 
{ 
$path_to_file = "/usr/local/httpd/htdocs/page/upload/"; 
while(file_exists($path_to_file.$file_name)){
  $file_name = "1".$file_name;
}
$location = $path_to_file.$file_name; 
copy($file,$location); 
}
dann wird einfach eine 1 vor den dateinamen gesetzt, sollte es die datei schon geben...
 
oder wenn du es ganz anspruchsvoll haben willst, dass hinter dem dateinamen hochgezählt wird, bis es die datei nicht mehr gibt, also bild1.jpg, bild2.jpg...
PHP:
if ($file_name) 
{ 
$path_to_file = "/usr/local/httpd/htdocs/page/upload/"; 
for($i=1;file_exists($path_to_file.$file_name),$i++){
  $temp = explode(".",$file_name);
  $temp[count($temp)-2] .= $i
  $file_name = join(".",$temp);
}
$location = $path_to_file.$file_name; 
copy($file,$location); 
}
habs aber nicht getestet, habs nur mal schnell aufgekritzelt hier, wie es eigentlich gehen sollte
[edit]
huaaah, hatte vergessen, dass $i weitergezählt wird...
[/edit]
 
Zuletzt bearbeitet:
Zurück