kostenloser Webspace werbefrei: lima-city


Brauche hilfe mit Upload script

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    webverdienst

    webverdienst hat kostenlosen Webspace.

    Wie kann man bei dem untenstehenden Code das bild umzubennen das wenn es z.B. Bild bild.jpg das nächste dann bild1.jpg u.s.w.

    <?php
    $dateityp = GetImageSize($_FILES['datei']['tmp_name']);
    if($dateityp[2] != 0)
       {
    
       if($_FILES['datei']['size'] <  102400)
          {
          move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".$_FILES['datei']['name']);
          echo "Das Bild wurde Erfolgreich nach upload/".$_FILES['datei']['name']." hochgeladen";
          }
    
       else
          {
             echo "Das Bild darf nicht größer als 100 kb sein ";
          }
    
        }
    
    else
        {
        echo "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
        }
    ?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".$_FILES['datei']['name']);

    Der letzte Parameter gibt den Ort und den Namen an, in welchem das Bild auf dem Server hinterlegt werden soll. Man kann das also so machen:

    $i=0;
    while (file_exists("upload/".substr($_FILES['datei']['name'],0,-4).$i.substr($_FILES['datei']['name'],-4,4))) { $i++;}
    move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".substr($_FILES['datei']['name'],0,-4).$i.substr($_FILES['datei']['name'],-4));


    Ist ungetestet und ich bin mir auch nicht ganz sicher, ob file_exists das Verzeichnis wechseln kann. aber so ähnlich sollte es funktionieren.

    €dit:
    Fehler korrigiert.
    Wenn du natürlich nur den Namen ändern möchtest, ohne durchgehende Nummerireung, dann brauchst du das:
    $einschub = "Zusatztext";
    move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".substr($_FILES['datei']['name'],0,-4).$einschub.substr($_FILES['datei']['name'],-4));


    €€dit: Das ganze tut so nur, wenn dein Kürzel aus 3 Buchstaben besteht (was bei jpg problematisch ist, die heißen manchmal auch jpeg). Besser ist es, wenn du die Werte in substr dynamisch bestimmst. Das funktioniert über die Bestimmung des "." im String, damit erhält man den Ansatzpunkt und mit der Stringlänge den Endpunkt. Daraus lässt sich dann errechnen, wie der Dateiname zerlegt werden muss, damit die 1 zwischen Name und Endung eingefügt wird. Die nötigen Befehle dafür sind:
    strrpos() und
    strlen()
    Und nun das ganze nochmal schön zusammengeschrieben für durchnummerierte Bilder:
    $punktpos = strrpos($_FILES['datei']['name'],".");
    $size = strlen($_FILES['datei']['name']);
    $filename = substr($_FILES['datei']['name'],0,-(size-punktpos+1));
    $extension = substr($_FILES['datei']['name'],-(size-punktpos+1));
    $i=0;
    while (file_exists("upload/".filename.$i.extension)) { $i++;}
    move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".filename.$i.extension);

    Hab die Indizes nicht genau geprüft, aber das bekommst du bestimmt auch so hin.


    Beitrag zuletzt geändert: 10.2.2013 14:04:06 von alphara
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!