• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

PHP Upload Ausgabe Reihenfolge verändern ?

ThisIsBeat

Empire
Registriert
02.02.16
Beiträge
85
Hallo Community,

hier erst mal mein Script:
Code:
<?php
session_start();
if(!isset($_SESSION['userid'])) {
    die('Bitte zuerst <a href="Mac_Version1.php">einloggen</a>');
}
$userid = $_SESSION['userid'];

$upload_folder = 'upload/'; //Das Upload-Verzeichnis
$filename = "bild_user".$userid;
$extension = strtolower(pathinfo($_FILES['datei']['name'], PATHINFO_EXTENSION));

 
//Überprüfung der Dateiendung
$allowed_extensions = array('png', 'jpg', 'jpeg', 'gif',);
if(!in_array($extension, $allowed_extensions)) {
    die("Ungültige Dateiendung. Nur png, jpg, jpeg und gif-Dateien sind erlaubt");
}
 
//Überprüfung der Dateigröße
$max_size = 4000*1024; //4000 MB
if($_FILES['datei']['size'] > $max_size) {
    die("Bitte keine Dateien größer 4mb hochladen");
}

//Überprüfung dass das Bild keine Fehler enthält
if(function_exists('exif_imagetype')) { //Die exif_imagetype-Funktion erfordert die exif-Erweiterung auf dem Server
    $allowed_types = array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF,);
    $detected_type = exif_imagetype($_FILES['datei']['tmp_name']);
    if(!in_array($detected_type, $allowed_types)) {
        die("Nur der Upload von Bilddateien ist gestattet");
    }
}
 
//Pfad zum Upload
$new_path = $upload_folder.$filename.'.'.$extension;
 
//Neuer Dateiname falls die Datei bereits existiert
if(file_exists($new_path)) { //Falls Datei existiert, hänge eine Zahl an den Dateinamen
    $Anzahl = 1;
    do {
        $new_path = $upload_folder.$filename.'_'.$Anzahl.'.'.$extension;
        $Anzahl++;
    } while(file_exists($new_path));
}
 
//Alles okay, verschiebe Datei an neuen Pfad
move_uploaded_file($_FILES['datei']['tmp_name'], $new_path);
echo 'Bild erfolgreich hochgeladen, zur&uumlck zur <a href="loogin.php">Startseite</a>';
?>

Also wie ihr seht habe ich ein Script zum Datei Upload geschrieben was auch wirklich super funktioniert so das ich damit keine Probleme habe.

Das einzige was mich stört ist folgendes und zwar:
Werden Bilder die hochgeladen werden umbenannt und mit einer Zahl versehen. Diese Zahl erhöht sich mit jedem hochgeladenem Bild automatisch.

Lese ich den Ordner in dem sich die Bilder befinden nun aus so werden mir die Bilder in folgender Reihenfolge ausgegeben
Bild.jpg
Bild1.jpg
Bild2.jpg
Bild3.jpg
Bild4.jpg
usw.

Ich würde gerne beim auslesen eine andere Reihenfolge haben, so dass immer das neuste Bild angezeigt wird.
Bspw. so
Bild4.jpg
Bild3jpg
Bild2.jpg
Bild1jpg
Bild.jpg

Ich hoffe es ist klar geworden was ich meine :)
Hat jemand ne Ahnung was man dazu machen muss ?
 

ThisIsBeat

Empire
Registriert
02.02.16
Beiträge
85
@falkgottschalk Hey ich finde das ist ein wirklich sehr interessanter Lösungsansatz. Ich habe jedoch enorme Schwierigkeiten das ganze auf mein Script zu übertragen da ich wirklich keine Ahnung habe wie ich anfangen soll. Kannst du mir dabei eventuell helfen das ganze auf mein Script anzupassen ?

Das Script aus deinem Link dient ja dazu einen Ordner auszulesen richtig ? Doch wo in dem Script steht der Pfad zum Ordner, damit das Script weiß welchen Ordner es auslesen soll ?
 

ThisIsBeat

Empire
Registriert
02.02.16
Beiträge
85
@NorbertM Das geht nicht, da ich nicht weiß wie viele Bilder ein User hochladen wird. Würde ich wissen, dass bspw. nur 100 Bilder hochgeladen werden, dann könnte man es so machen wie du es sagst. Andernfalls ist das nicht möglich !

Wie gesagt wäre ich sehr dankbar für weitere Lösungsansätze :D