zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Bilder werden nicht numerisch sortiert

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 23.02.2011, 21:32
Benutzerbild von pkipper
Will keinen Titel
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 01.10.2008
Ort: Winterthur
Beiträge: 164
pkipper befindet sich auf einem aufstrebenden Ast
Standard Bilder werden nicht numerisch sortiert

Hi Leute,

Ich habe da ein PHP-Script welches automatisch aus hochgeladenen Bildern Thumbnails generiert und somit eine Galerie erzeugt.

Nun übersteigt das Level an PHP in welchem dies geschrieben wurde meine momentanen PHP-Kenntnisse. Es handelt sich allerdings um ein (denke ich mal) kleineres Problem für euch PHP-Profis.

Wenn ich die Galerie per XAMPP lade so sind alle Thumbanils schön numerisch nacheinander geordnet (thumb01.jpg, thumb02.jpg etc...). Wenn ich das File nun aber auf den Webserver hochlade so sind alle Bilder wild durcheinander gewürfelt

Hat jemand eine Ahnung woran es liegen könnte, bzw. was ich im Code ändern müsste damit sie auch auf dem Webserver und nicht nur in XAMPP richtig geordnet würden?

Ich wäre echt froh um jede Hilfe.

Freundliche Grüsse,

Philippe

Das genutzte PHP:
PHP-Code:
<?php
/*************************************************
 * Micro Photo Gallery
 *
 * Version: 1.0
 * Date: 2007-04-05
 *
 * Usage:
 * Just copy these files into your image folder
 *
 ****************************************************/

 
$columns     3;
 
$thmb_width  136;
 
$thmb_height 80;

function 
resizeImage($originalImage,$toWidth,$toHeight){
    
    
// Get the original geometry and calculate scales
    
list($width$height) = getimagesize($originalImage);
    
$xscale=$width/$toWidth;
    
$yscale=$height/$toHeight;
    
    
// Recalculate new size with default ratio
    
if ($yscale>$xscale){
        
$new_width round($width * (1/$yscale));
        
$new_height round($height * (1/$yscale));
    }
    else {
        
$new_width round($width * (1/$xscale));
        
$new_height round($height * (1/$xscale));
    }
    
// Resize the original image
    
$imageResized imagecreatetruecolor($new_width$new_height);
    
$imageTmp     imagecreatefromjpeg ($originalImage);
    
imagecopyresampled($imageResized$imageTmp0000$new_width$new_height$width$height);

    return 
$imageResized;


function 
generateThumbnails(){
    global 
$thmb_width,$thmb_height;
    
    
// Open the actual directory
    
if ($handle opendir(".")) {
        
// Read all file from the actual directory
        
while ($file readdir($handle))  {
            
// Check whether tha actual item is a valid file
            
if (is_file($file)){
                
// Check whether the actual image is a thumbnail
                  
if (strpos($file,'_th.jpg')){
                      
$isThumb true;
                  } else {
                      
$isThumb false;
                  }
              
                  if (!
$isThumb) {
                      
// Process the file string
                      
$dirName  substr($file,0,strpos($file,basename($file)));
                      if (
strlen($dirName) < 1$dirName '.';
                      
$fileName basename($file);
                      
$fileMain substr($fileName,0,strrpos($fileName,'.'));
                      
$extName  substr($fileName,strrpos($fileName,'.'),
                                          
strlen($fileName)-strrpos($fileName,'.'));
                      
                      
// Check if the actual file is a jpeg image
                      
if (($extName == '.jpg') || ($extName == '.jpeg')){
                        
$thmbFile $dirName.'/'.$fileMain.'_th.jpg';
                        
// If a thumbnail dosn't exists tahn create a new one
                        
if (!file_exists($thmbFile)){
                            
imagejpeg(resizeImage($file,$thmb_width,$thmb_height),$thmbFile,80);
                        }
                    }
                  } 
               }
           }
    }
    
}

function 
getNormalImage($file){
    
$base substr($file,0,strrpos($file,'_th.jpg'));
    if (
file_exists($base.'.jpg')) return $base.'.jpg';
    elseif (
file_exists($base.'.jpeg')) return $base.'.jpeg';
    else return 
"";
}

function 
displayPhotos(){
    global 
$columns;
    
    
generateThumbnails();
    
$act 0;
    
// Open the actual directory
    
if ($handle opendir(".")) {
        
// Read all file from the actual directory
        
while ($file readdir($handle))  {
            
// Check whether tha actual item is a valid file
            
if (is_file($file)){
                
// Check whether the actual image is a thumbnail
                  
if (strpos($file,'_th.jpg')){
                    ++
$act;
                    if (
$act $columns) {
                        echo 
'</tr><tr><td class="photo"><center><a href="'.getNormalImage($file).'" rel="shadowbox[grouped]" target="_blank"><img src="'.$file.'" alt="'.$file.'"/></a></center></td>';    
                        
$act 1;
                    } else {
                        echo 
'<td class="photo"><center><a href="'.getNormalImage($file).'" rel="shadowbox[grouped]" target="_blank"><img src="'.$file.'" alt="'.$file.'"/></a></center></td>';    
                    }
                      
                  }
              }
        }
    }    
}

?>
__________________
 = ♥ .: MacBook Pro Unibody, 2.8 GHz Intel Core 2 Duo, 4 GB 1067 MHz DDR3, NVIDIA GeForce 9400M/9600M GT :.
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 24.02.2011, 10:00
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 18.06.2007
Ort: Verden
Beiträge: 405
chorn wird schon bald berühmt werden
Standard

Von Sortierung steht in dem Script nichts, das musst du noch einbauen, bisher werden die Dateien ausgegeben wie sie vom Dateisystem geliefert werden. Das Thema "Verzeichnis auslesen mit PHP" ist aber schon ziemlich ausgelutscht, da findest du eine Menge bei der Suchmaschine deiner Wahl. Schema ist:

Code:
alle Dateien in ein Array lesen
Array sortieren
Array ausgeben
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 24.02.2011, 13:10
Benutzerbild von pkipper
Will keinen Titel
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 01.10.2008
Ort: Winterthur
Beiträge: 164
pkipper befindet sich auf einem aufstrebenden Ast
Standard

Hi chorn,

Danke Dir für den Richtungshinweis. Ich möchte mich vornweg schon mal für meine Unwissenheit bezüglich PHPs entschuldigen.

Ich habe mich per Google versucht in das Thema einzuarbeiten was im unten stehendem Resultat geendet hat.

Wenn ich das recht verstanden habe so müsste ich die Files, welche aufgelistet würden, in ein array setzen, und diesen dann per sort aufrufen?

Beispiel:
PHP-Code:
$blumen = array("rose""tulpe""sonnenblume""lilie");
sort($blumen); 
@ "alle Dateien in ein Array lesen": Die Files werden, in dem von mir geposteten Script, allerdings automatisch generiert. Alle Beispiele welche in gefunden habe, haben aber vornweg immer eine manuelle Auflistung der Daten gehabt (in diesem Fall Rose, Tulpe, Sonnenblume, Lilie).

Ich bin mir leider unschlüssig darüber ob ich auf dem richtigen Weg bin, bzw. welchen Teil des Codes ich anpassen müsste...

Ich wäre dankbar um ein paar Schubser in Laiensprache damit mir das ganze ein wenig erleichtert würde

Dankbare Grüsse,

Phil

(PS: "Das Thema "Verzeichnis auslesen mit PHP" ist aber schon ziemlich ausgelutscht" Nach welcher Terminologie würde ich Googeln wenn ich etwas aktuelleres suchen würde? Etwas moderneres kann man sicherlich immer gut gebrauchen )
(PS2: Ich bin schon auf der Suche nach einem Weiterbildungskurs für PHP von basic bis pro, ich werde also in Zukunft hoffentlich all meine Probleme selbst lösen können. )
__________________
 = ♥ .: MacBook Pro Unibody, 2.8 GHz Intel Core 2 Duo, 4 GB 1067 MHz DDR3, NVIDIA GeForce 9400M/9600M GT :.

Geändert von pkipper (24.02.2011 um 13:19 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 26.02.2011, 13:06
Benutzerbild von pkipper
Will keinen Titel
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 01.10.2008
Ort: Winterthur
Beiträge: 164
pkipper befindet sich auf einem aufstrebenden Ast
Standard

Pushpush

Will nicht aufdringlich sein, aber ich bräuchte wirklich ein wenig Hilfe zu dem Thema. Übers Wochenende hätte ich schön Zeit daran zu arbeiten und wäre froh wenn sich mir jemand erbarmen würde und mir ein wenig unter die Arme greifft (Hab nur die 85+ Hits gesehen und dachte vielleicht hat ja doch jemand noch eine Idee )

Liebe Grüsse,

Phil
__________________
 = ♥ .: MacBook Pro Unibody, 2.8 GHz Intel Core 2 Duo, 4 GB 1067 MHz DDR3, NVIDIA GeForce 9400M/9600M GT :.
Mit Zitat antworten
  #5 (permalink)  
Alt 26.02.2011, 13:16
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 28.01.2011
Beiträge: 338
Webcoder sorgt für eine eindrucksvolle AtmosphäreWebcoder sorgt für eine eindrucksvolle Atmosphäre
Standard

Hi pkipper

ich weiß ja nicht ob du schon PHP 5 nutzt, falls ja könnte dir scandir weiterhelfen.


Gruß
Webcoder
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
Problem mit Schattenrahmen um Bilder (Typo3) micronix CSS 2 20.08.2012 21:01
bilder in div container unten anordnen diegaby CSS 12 17.11.2008 15:08
Bildergalerie mit Variablen fledermaus Serveradministration und serverseitige Scripte 1 08.04.2008 09:57
Bilder einbinden SPMan CSS 1 14.06.2007 09:58
Texte mit margin:auto - Bilder mit margin:0 AndreasB (X)HTML 11 10.10.2006 14:50


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:29 Uhr.