datei bei upload umbenennen

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von marcc, 14.09.2009.

  1. marcc

    marcc Tripel-As

    Dabei seit:
    19.07.2007
    Beiträge:
    247
    Zustimmungen:
    0
    Ort:
    Traunstein, D
    Hallo. Ich hab hier ein fertiges upload script.
    wenn aber eine datei upgeloaded wird die schon existiert. wird die überschrieben.. also wärs gut wenn sie beim upload umbenannt wird.

    file.txt -> timestamp-file.txt

    nur wie geht das?

    PHP:
    <?php
    /*
    Plugin Name: widget upload
    Plugin URI: http://jessai.fr.nf/archives/9
    Description: widget upload.
    Version: 1.5.1
    Author: jessai
    Author URI: http://jessai.fr.nf
    */
    function widget_upload_init() {
        
        function 
    widget_upload$args ) {
            
    $user wp_get_current_user();
            if ((
    $user->user_login) &&(!$user->wp_user_level)) {
                
    $niveau_user 0;
            }
            else {
                
    $niveau_user $user->wp_user_level;
            }
            if (
    $user->ID==0)
                
    $niveau_user = -1;            
            
    extract($args);    
            
    $options get_option('widget_upload_options');
            if (
    $niveau_user $options['upload_autorise']) {
                return;
            }
                
    $ext_autorises explode(",",$options['upload_ext']);
                echo 
    $before_widget;
                    echo 
    $before_title $options['upload_title']. $after_title;
                    
    //echo 'user :';
                    //print_r($user);
                    
    $user_identity $user->display_name;
                    
                    echo 
    '<div>what does work: </div><div>';
                    
    $nbre_ext_autorises count($ext_autorises);
                    
    $i=0;
                    echo 
    "<div class='postinfo'>";
                    foreach (
    $ext_autorises as $ext_autorise)
                    {
                        
    $i++;
                        echo 
    $ext_autorise;
                        if (
    $i $nbre_ext_autorises) echo ' - ';
                    }
                    echo 
    "</div>";
            
    ?>
                    </div><br />
                    <ul>
                    
                         <form name="form_upload" method="post" enctype="multipart/form-data">
                             <input type="file" name="fileupload" id="upfile_0" size="10" tabindex="1" />
                            <input align="center" type="submit" name="envoyer" value="submit" />
                        </form>
                    </ul>
            <?php
                
    if (is_uploaded_file($_FILES['fileupload']['tmp_name']))
                {
                    
    $ext_fichier explode(".",$_FILES['fileupload']['name']);
                    
    $ext_autorise_ok false ;
                    
                    foreach (
    $ext_autorises as $ext_autorise)
                    {
                        if (
    $ext_autorise == end($ext_fichier))
                        {
                            
    $ext_autorise_ok true ;
                            break ;
                        }
                    }
                    if (
    $ext_autorise_ok)
                    {
                        
    $source $_FILES[fileupload][tmp_name];
                         
    $dest ABSPATH.'/'.$options['upload_chemin'].'/'.$_FILES[fileupload][name];
                        if (
    $source)
                        {
                            
    copy($source,$dest);
                        }
                        echo 
    "<font color='#008000'>file uploaded</font>";
                        
    unlink($source);
                    }
                    else
                    {
                        echo 
    "<font color='#FF0000'>DENIED.<br>wrong filetype? Use ONLY the one listed above!</font>";
                    }
                                
                }
                echo 
    $after_widget;    
            

        }
        
        
        function 
    widget_upload_control() {
                
    $newoptions $options get_option('widget_upload_options');
                if ( 
    $_POST['submit_essai'] ) {
                   
    $newoptions['upload_title'] = $_POST['upload_title'];
                   
    $newoptions['upload_autorise'] = $_POST['upload_autorise'];
                   
    $newoptions['upload_chemin'] = $_POST['upload_chemin'];
                   
    $newoptions['upload_ext'] = $_POST['upload_ext'];
                   
    print_r($newoptions);
                }
                if ( 
    $options != $newoptions ) {
                    
    $options $newoptions;
                    
    update_option('widget_upload_options'$options);
                }
                
        
    ?>
            <div><label for="upload_title">Titre     : 
                  <div><input name="upload_title" id="upload_title" value="<?php echo $options['upload_title']; ?>" /></div>
            </label></div>
            <div style="margin-top:10px; margin-bottom:5px; " ><label for="upload_autorise"> Qui peut uploader :
                    <div><select name="upload_autorise" id="upload_autorise">
                            <option value="-1" <?php if ($options['upload_autorise'] == -1) echo 'selected="selected"'?> >Non inscrit</option>
                <?php
                $nom_role 
    role();
                foreach( 
    $nom_role as $role => $details ) {
                    for (
    $i=0$i<=10$i++){
                        
    $niveau="level_".$i;
                        if (
    $details['capabilities'][$niveau]) {
                            
    $role_value $i;
                        }
                    }
                      
    $name translate_with_context($details['name']);
                      if (
    $role_value == $options['upload_autorise']) {
                          echo 
    '<option value="'.$role_value.'" selected="selected" >'.$name.'</option>';
                      }
                      else {
                        echo 
    '<option value="'.$role_value.'" >'.$name.'</option><br />';
                    }
                }
                
    ?></select></div>

            </label></div>
            
            <div><label for="upload_chemin">chemin : 
                   <div><input name="upload_chemin" id="upload_chemin" value="<?php echo $options['upload_chemin']; ?>" /></div>
            </label></div>
            <div><label for="upload_ext"><?php echo utf8_encode('extensions autoris�es (s�parer par une virgule) : '); ?> 
                   <div><input name="upload_ext" id="upload_ext" value="<?php echo $options['upload_ext']; ?>" /></div>
            </label></div>
            <input id="submit_essai" name="submit_essai" type="hidden" value="1" />
        <?php
        
    }
      
      
    register_sidebar_widget'Upload''widget_upload');
      
    register_widget_control('Upload''widget_upload_control'200500);
    }

    function 
    role(){
         global 
    $wp_roles;
         
         
    $all_roles $wp_roles->roles;
         
    $editable_roles apply_filters('editable_roles'$all_roles);
         return 
    $editable_roles;
    }
    function 
    affiche_succes($succes){
        echo 
    utf8_encode($succes);
    }

        
    add_action('widgets_init''widget_upload_init');
    ?>
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. yai

    yai yet another idiot

    Dabei seit:
    22.01.2007
    Beiträge:
    166
    Zustimmungen:
    0
    vielleicht mit rename? :headup:
     
  4. #3 sim4000, 14.09.2009
    Zuletzt bearbeitet: 14.09.2009
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
  5. #4 marcc, 14.09.2009
    Zuletzt bearbeitet: 14.09.2009
    marcc

    marcc Tripel-As

    Dabei seit:
    19.07.2007
    Beiträge:
    247
    Zustimmungen:
    0
    Ort:
    Traunstein, D
    hmm..
    dann timestamp einbauen und
    statt "copy($source,$dest);" dein script.
    PHP:
                    if ($ext_autorise_ok)
                    {
                        
    $source $_FILES[fileupload][tmp_name];
                        
    $timestamp time();
                        
    $dest ABSPATH.'/'.$options['upload_chemin'].'/'.$timestamp.'-'.$_FILES[fileupload][name];
                        if (
    $source)
                        {
           
    //                 copy($source,$dest);
                              
    move_uploaded_file($source$dest);
                        }
                        echo 
    "<font color='#008000'>file uploaded</font>";
                        
    unlink($source);
                    }
                    else
                    {
                        echo 
    "<font color='#FF0000'>DENIED.<br>wrong filetype? Use ONLY the one listed above!</font>";
                    }
    gibt die fehlermeldung
     
  6. #5 HeadCrash, 14.09.2009
    HeadCrash

    HeadCrash Routinier

    Dabei seit:
    16.05.2009
    Beiträge:
    482
    Zustimmungen:
    1
    Ort:
    Bayern
    Hi,

    das Warning kommt weil du ein move_uploaded_file gemacht hast, damit gibt es die Datei auf die in $source verwiesen wird nicht mehr, deshalb wirft unlink die Fehlermeldung.

    Wieso er den Timestamp nicht anzieht seh ich auf den ersten Blick jetzt auch nicht.

    mfg
    HeadCrash
     
  7. marcc

    marcc Tripel-As

    Dabei seit:
    19.07.2007
    Beiträge:
    247
    Zustimmungen:
    0
    Ort:
    Traunstein, D
    das mit dem timestamp hab ich noch hinbekommen. war nur ein tippfehler..

    dann hau ich
    Code:
    unlink($source);
    einfach raus, oder is des wichtig.
    taucht danach auf jedenfall nicht mehr auf.
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 sim4000, 14.09.2009
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    move_uploaded_file erledigt für Dich das löschen.
    Das unlink kannst Du also einfach weglassen.
     
  10. marcc

    marcc Tripel-As

    Dabei seit:
    19.07.2007
    Beiträge:
    247
    Zustimmungen:
    0
    Ort:
    Traunstein, D
    thx.. funktioniert einwandfrei ;)
     
Thema:

datei bei upload umbenennen

Die Seite wird geladen...

datei bei upload umbenennen - Ähnliche Themen

  1. Samba killt Server bei Datei-Upload, wie tracen?

    Samba killt Server bei Datei-Upload, wie tracen?: Hallo, ich habe hier ein gemoddetes NAS mit selbst gepatchtem 3.8er Kernel, der eigentlich sehr stabil läuft. Nur Samba stürzt reproduzierbar...
  2. datei verschieben mit upload prüfung

    datei verschieben mit upload prüfung: Hallo, ich stehe vor einen riesigem problem welches ich bisher nur zu 50 % lösen konnte folgendes Problem: ich brauche eine möglichkeit...
  3. Mehrere Verbindungen bei einem Dateiupload?

    Mehrere Verbindungen bei einem Dateiupload?: Hallo, ich weiß leider nicht ob die Überschrift für das was ich Suche die richtige Bezeichnung ist, aber ich versuche einfach mal zu erklären...
  4. Dateirechte Ändern on-upload

    Dateirechte Ändern on-upload: Moin moin, ich habe folgendes Problem: Ein User lädt Dateien via FTP auf unseren Server, die automatisch mit den Rechten 644 ausgestattet...
  5. Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...

    Suche in Datei doppelte Wörter in jeder Zeile bis zum dritten Leerzeichen...: Ich habe eine Textdatei in der ich Einträge bis zum 3. Leerzeichen mit den restlichen Zeilen (auch nur bis 3. Leerzeichen) vergleichen muss und...