zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden ftp-upload: $_FILES dateiname mit timestamp versehen?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 30.07.2009, 20:39
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 30.07.2009
Beiträge: 469
sepp88 befindet sich auf einem aufstrebenden Ast
Standard ftp-upload: $_FILES dateiname mit timestamp versehen?

hallo,

ich arbeite gerade an einem FTP upload auf einer webseite. ich habe das fertige script auf einem echt tollen blog gefunden und hab es jetzt zum laufen gebracht und alles so konfiguriert wie ich es gerne hätte.

hier ein kleiner auschnitt:

PHP-Code:
set_time_limit(300);//for setting 

            
$paths='/userupload';  

            
$filep=$_FILES['userfile']['tmp_name'];
    
            
$ftp_server='meine-serveradresse';
    
        
$ftp_server_port="21";
            
            
$ftp_user_name='mein-server-benutzername';

            
$ftp_user_pass=$_POST['password'];

            
$name=$_FILES['userfile']['name']; 
zur erklärung, ich habe nur zwei felder für den user sichtbar, einmal ein inputfeld für das PASSWORT (adresse und benutzername sind bereits im script eingefügt) und einmal ein "file-select"-feld, mit dem der user seine gewünschte datei auswählen kann.

nun, es funktioniert grundsätzlich alles wunderbar. die files werden auf meinen server geladen, aber ich würde gerne jeder upgeloadeten datei folgended anhängen:

dateiname_datum_uhrzeit.suffix

also der dateiname bleibt so wie er ist, und es soll durch einen "unterstrich getrennt" das datum (date("Ymd")) angehängt werden, und die uhrzeit, so dass jeder upgeloadete file "einzigartig" ist.

wobei es toll wäre wenn die uhrzeit nicht durch "doppelpunkte" getrennt angehängt werden würde, ich denke mir, das könnte vielleicht schlussendlich mal zu komplikationenen führen.

also mein wunsch wäre "dateiname_20090827_1826"
also der bereits vordefinierte dateiname + datum + uhrzeit (stunden & minuten)

ich habe schon eine weile recherchiert und probiert das zu lösen, aber ich komme nicht auf die lösung.

könnt ihr mir da bitte einen tipp geben?
ist das ÜBERHAUPT möglich?

danke und schönen abend noch!
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 30.07.2009, 21:59
Benutzerbild von M.R.
WebEngineer
neuer user
 
Registriert seit: 28.07.2009
Beiträge: 20
M.R. befindet sich auf einem aufstrebenden Ast
Standard

Dateiname aus dem Formular: $_FILES["deinname"]["name"]

"deinname" ist hierbei der name des Uploadfeldes im Formular.

Es könnte etwa so aussehen:

PHP-Code:
$filename $_FILES['deinname']['name'];
$filename preg_replace'#[^a-zA-Z0-9]#''_'$filename ); 
$filetype $_FILES['deinname']['type'];
$date date("Ymd");
$time date("Hi");

$newname "$filename_$date_$time.$filetype"

Wenn du tiefgehendere Hilfe brauchst so lass es uns einfach wissen.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 31.07.2009, 07:30
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Zu bedenken ist, dass im Key type der Mime-Type enthalten ist, nicht die Datei-Erweiterung, daher würde ich das wie folgt machen:

PHP-Code:
$filename preg_replace'/[^a-zA-Z0-9\.]/''_'$_FILES['deinname']['name']);
$ext '';
if (
strrpos('.'$filename) !== false) {
   
$ext substr($filenamestrrpos('.'$filename));
   
$filename substr($filename0, -strlen($ext));
}
$date date("Ymd");
$time date("Hi");

$newname "$filename_$date_$time$ext"
Mit Zitat antworten
  #4 (permalink)  
Alt 31.07.2009, 09:56
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 30.07.2009
Beiträge: 469
sepp88 befindet sich auf einem aufstrebenden Ast
Standard

danke euch beiden, super tipps!

hab mal das script von @mantiz eingebaut, aber da werden mir nur files mit der reinen uhrzeit auf den server geschrieben. also ohne jeglichen vorhandenen namen, datum, noch suffix.

also dann habe ich nur solche files am server:



ich werds weiter versuchen, danke derweil

der code shaut wie folgt aus:
PHP-Code:
  $paths='/userupload';  

            
$filep=$_FILES['userfile']['tmp_name'];
    
            
$ftp_server='202.124.241.217';
    
            
$ftp_server_port="21";
            
            
$ftp_user_name='alal1625-1';

            
$ftp_user_pass=$_POST['password'];

            
//$name=$_FILES['userfile']['name'];
            
            
$filename preg_replace'/[^a-zA-Z0-9\.]/''_'$_FILES['userfile']['name']);
            
$ext '';
            if (
strrpos('.'$filename) !== false) {
               
$ext substr($filenamestrrpos('.'$filename));
               
$filename substr($filename0, -strlen($ext));
            }
            
$date date("Ymd");
            
$time date("Hi");

            
$newname "$filename_$date_$time$ext";

// upload the file to the path specified
$upload ftp_put($conn_id$paths.'/'.$newname$filepFTP_BINARY); 

Geändert von sepp88 (31.07.2009 um 10:13 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 31.07.2009, 10:56
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 30.07.2009
Beiträge: 469
sepp88 befindet sich auf einem aufstrebenden Ast
Standard

ich habs geschafft, danke für die nette hilfe:
so funktionierts für mich auch wunderbar....


PHP-Code:
 $upload ftp_put($conn_id$paths.'/'.date('Ymd_Hi').'_'.$name$filepFTP_BINARY); 
Mit Zitat antworten
  #6 (permalink)  
Alt 31.07.2009, 14:12
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Haha, klar.
Man sollte geposteten Code nicht einfach so übernehmen.

So wäre es richtig gewesen:
PHP-Code:
$filename preg_replace'/[^a-zA-Z0-9\.]/''_'$_FILES['deinname']['name']);
$ext '';
if (
strrpos('.'$filename) !== false) {
   
$ext substr($filenamestrrpos('.'$filename));
   
$filename substr($filename0, -strlen($ext));
}
$date date("Ymd");
$time date("Hi");

$newname $filename '_' $date '_' $time $ext
Ansonsten wird der "_" zum Variablennamen gezählt.

Hätte mir eigentlich auffallen sollen, naja, manchmal ist's zu früh am morgen.
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
FTP server in eine Seite integrieren? CL90 CSS 4 15.04.2009 14:59
Frage eines Newbies - CSS/HTML upload auf FTP - sichtbarkeit des designs jochenharter CSS 4 23.01.2008 13:13
FTP Upload Problem haferben Serveradministration und serverseitige Scripte 13 29.12.2007 20:41


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:05 Uhr.