datei umbenenen

mike4004

Erfahrenes Mitglied
Hallo ich habe ein problem mit dem Datei upload (ich weis das Theme wurde schon 1000mal besbrochen aber ich finde einfach nicht wonach ich suche)

unzwar hätten ich gerne das ein das eine Datei die ber post geuppt wird nicht ihren namen sondern einen neuen Namen bekommt der in einer variable stehet.(wobei die endung erhalten bleiben soll.)

danke schonmal für die hilfe.
 
Hallo renname hilft mir nix da ich ja die endung selbst eingeben muss.

PHP:
<?
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
 $type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
copy("$tempname", "$name");
    echo "Die Datei $name wurde erfolgreich hochgeladen!";
?>

und ich hätte gern den name einer variable und die originale endung.
 
Hallo,

versuchs vielleicht mit explode(), indem du den Dateinamen explodest und einfach die so erhaltene Endung anhängst. Soll nur mal ein Denkanstoss sein.
 
Hallo!

Dann setz doch für $name eine neue Variable
PHP:
$name = irgendwas.endung;
copy("$tempname","$name");
 
//oder
$name = irgendwas;
copy("$tempname","$name.".endung);
Gruss Dr Dau
 
Hi

das mit explode() is net so schlecht.(hab aber keine ahnung wie ich das machen kann.)

Dr. Dau das problem ist es kann jede endung kommen .txt .html einfach alles.(und bei deinem beispiel müsste ich mich auf eine endung festlegen)

und wie prüfe ich ob eine datei zum downloaden bereitgestellt wurde (ich weiß imt ner if abfrage aber ich weiss nicht welche Frag)

so irgentwie?
<?php
$pizza = "info.txt";
$pieces = explode (".", $pizza);

print_r($pieces);
?>
 
Zuletzt bearbeitet:
Hi,

so:
PHP:
$tempname = "irgendwas";
//explode des vorherigen Namens
$name1 = explode(".", $tempname);
//Dateiendung
$endung = $name1[1];
//neuer Name
$name = "irgendwas";
//Kopieren und ändern
copy($tempname,$name.$endung);
Wie du es dann genau realisierst, ist deine Sache aber ich glaub als kleine Hilfe ist das gut. Das einzige Problem ist, dass das hier nicht mit Dreiteiligen Dateinamen geht(z.B. bla.bla.txt), weil er da den zweiten Teil nimmt. Ich habe bei $endung $name1[1] da das Array bei 0 anfängt.
 
explode() ist nicht schlecht..... so lange nur ein Punkt vorkommt. :-)

PHP:
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$old_ext = strrchr($name, '.');
$new_name = irgendwas;
 
copy("$tempname", "$new_name.$old_ext");
 
Zurück