Upload-Script

Hallo,

ich habe hier ein Skript und ich wollte nich, dass er die Datei hochlädt und dann n eigenen namen gibt sondern den namen, den die datei als ausgangsnamen hat…also beibehält:

<?php // -----------------------------------------
// Das Script kann unter Verwendung // dieses Vermerks uneingeschränkt // genutzt / verändert werden. // © [www.php-space.info](http://www.php-space.info) // ----------------------------------------- @include\_once('functions.php'); // ----------------------------------------- // Beispiel $path = '/bilder-upload-script/img/'; $path = ''; // Verzeichnis zum Speicher Ordner nach [http://www.ihre-domain.de/](http://www.ihre-domain.de/) // Beispiel $img\_path\_up = '/home/www/web3/html/php-space/bilder-upload-script/img/'; $img\_path\_up = ''; // Absuluter Pfad zum Speicher Ordner $groessemax = 10000; // Maximal Datei Größe in KB (KiloByte) // ----------------------------------------- // Ab hier nichts mehr anpassen if (!isset($\_GET["loechen"])) $\_GET["loechen"] = ""; if (!isset($\_GET["file"])) $\_GET["file"] = ""; ?\>Datei Upload \ if(uploadmoeglichkeitpruefen()==false){ echo ' Es ist auf diesen Server kein Upload möglich, bitte wenden Sie sich an Ihren Hoster und bitten um Aktivierung der Php Upload Funktion. '; exit; } if(file\_exists($img\_path\_up)==false OR $img\_path\_up ==''){ echo ' Es gibt kein Ordner wohin die Bilder geladen werden sollen! '; exit; } ?\> File Upload if($\_POST["action"]){ $filename = ""; if ($HTTP\_POST\_FILES['userfile']['tmp\_name'] 'none'){ $file = $HTTP\_POST\_FILES['userfile']['name']; $temp = $HTTP\_POST\_FILES['userfile']['tmp\_name']; $path\_parts = pathinfo($file); $filename = "datei\_" . time() . "." . $path\_parts["extension"]; if($HTTP\_POST\_FILES['userfile']['size'] Datei ist auf den Server! '; echo 'Url der Datei: [http://'.$\_SERVER['HTTP\_HOST'].$path.... href="'.$\_S...](http://'.%2524_SERVER%255B'HTTP_HOST'%255D.%2524path.....') '; } else { echo ' Die Datei konnte nicht auf den Server geladen werden. [Noch mal versuchen...]('.%2524_SERVER%255B'PHP_SELF'%255D.') '; } } else { echo ' Der Upload Ordner hat keine Schreibrechte! [Noch mal versuchen...]('.%2524_SERVER%255B'PHP_SELF'%255D.') '; } } else { echo ' Die Datei ist zu groß! Die Datei darf nicht größer als '.$groessemax.' KB (KiloByte) sein. [Noch mal versuchen...]('.%2524_SERVER%255B'PHP_SELF'%255D.') '; } } } else { ?\> "\> die Datei darf nicht größer sein als <?php if((maximaledateiuploadgroesseermitteln()/1024)>$groessemax) echo $groessemax; else echo (maximaledateiuploadgroesseermitteln()/1024);?\> KB (KiloByte). } ?\> File List // Datein Löschen if($\_GET["loechen"]==1 AND $\_GET["file"]!=''){ if(file\_exists($\_GET["file"])==true){ if(@unlink($\_GET["file"])==true) echo ' Die Datei wurde erfolgreich gelöscht! '; else echo ' Die Datei konnte nicht gelöscht werden. '; } else { echo ' Die Datei gibt es nicht im Upload Verzeichnis! '; } } ?\> File Größe Letzte Änderung Aktion // Datein Verzeichnis ansgeben $i=0; $verz=opendir ($img\_path\_up); while (false !== ($file = readdir($verz))) { if (filetype($img\_path\_up.$file)!="dir"){ $i++; echo ''; echo ' ['.$file.'](http://'.%2524_SERVER%255B'HTTP_HOST'%255D.%2524path.....')'; echo ' '.fs\_convert($img\_path\_up.$file,2).''; echo ' '.date("d.m.Y H:i", last\_change($img\_path\_up.$file)).''; echo ' [Löschen]('.%2524_SERVER%255B)'; echo ''; } } if($i==0){ echo ''; echo ' Es ist noch keine Datei im Upload Ordner.'; echo ''; } closedir($verz); ?\>

[snip]

ist das alles notwendig?
abgesehen mal davon, dass man sowas in pre-tags macht, damit man da ne bessere übersicht hat…

wie auch immer hab ich bei mir mal zu deiner eigentlichen fragestellung nen uralt codeschnispel gefunden:

$name=$\_FILES['medium']['name'];
$target="../media/"; // uploadverzeichnis
$target=realpath($target)."/".$name;
if (move\_uploaded\_file($\_FILES['medium']['tmp\_name'], $target))
{
 echo "Erfolgreich hochgeladen!";
}

lädt eine datei hoch und behält den namen.
bei dir im code wird das mit copy() gemacht und müsste dann glaub ich so aussehen (geändertes dick):

if ($HTTP\_POST\_FILES['userfile']['tmp\_name'] 'none'){
$file = $HTTP\_POST\_FILES['userfile']['name'];
$temp = $HTTP\_POST\_FILES['userfile']['tmp\_name'];
$path\_parts = pathinfo($file);
**//$filename = "datei\_" . time() . "." . $path\_parts["extension"];  
// verändert den dateinamen, was du ja nicht willst!**  
if($HTTP\_POST\_FILES['userfile']['size'] $file)){
echo ' Datei ist auf den Server!
';

mehr weiss ich jetzt auch nicht :smile:

grüßle
Geisterkarle 

lädt eine datei hoch und behält den namen.
bei dir im code wird das mit copy() gemacht und müsste dann

hast recht

mehr weiss ich jetzt auch nicht :smile:

Grund :
das doofe ist das das php immer einen temporären namen wählt um intern im php das upload hinzubekommen. Ich war sehr verwundert weil ich mit perl arbeite und das nicht so selbständig wahllos des macht :smile:

nun ist aber das problem das wenn das file schon existiert das erst nach dem upload bemerkt wird , nämlich beim copy befehl :smile:
sollte also vorher gegugt werden ob das file schon gibt :smile: will ja nicht überschrieben werden.

grüßle
Geisterkarle

Hallo gespaltene Persönlichkeit (??)

if(file_exists(…)) ??

Grußlos
Munich