php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 25-02-2005, 15:58
Parse_error
 Newbie
Links : Onlinestatus : Parse_error ist offline
Registriert seit: Feb 2005
Beiträge: 11
Parse_error ist zur Zeit noch ein unbeschriebenes Blatt
Standard nochmal Gallery-Script

Hallo nochmal,

ich hab mein Gallery-Script von neulich nochmal überarbeitet und es funzt jetzt -größtenteils.

Zur Erinnerung: ich wollte auf der Galerie-Indexseite sechs Zufalls-Thumbnails anzeigen. Die Unterordner wo die zufällig auszuwählenden Thumbnails liegen sind durchlaufend numeriert, ebenso wie die jeweiligen Bilder. Thumbnails und Großbilder liegen immer im gleichen Ordner, wobei die Thumbnails gekennzeichnet sind durch Namen wie "20t.jpg" und die Großbilder mit sowas wie "20.jpg".

Das Script wählt in seiner jetzigen Form immer sechs verschiedene Thumbnails zufällig aus, wie gewünscht. Im praktischen Einsatz zeigt sich dabei aber, dass sehr oft die sechs Bilder nur als zwei oder drei verschiedenen Ordnern stammen, ideal wäre wenn jeder existierende Ordner nur einmal "angesteuert" wird. Das habe ich auch versucht in dem folgen Script zu berücksichtigen, aber irgendwie klappt dieses eine Detail trotzdem nicht. Hier erstmal der kommentierte Code:

PHP-Code:

//Arrays bilden für die Zufallsbilder und Vergleiche
//zwischen ausgewählten Directories und Bildern um
//Doppelungen zu vermeiden
$bilder=array();
$directories=array();
$bilder2=array();


//Schleife initialisieren die sechs Zufallsbilder auswählt
$count=0;
                                    
for (
$i=1$i<=6$i++)
{

//Zufälliges Auswählen eines Dateiordners; 
//$dirs als Gesamtzahl der existierenden Ordner 
//ist bereits bekannt durch ne MySQL-Query

mt_srand((double)microtime()*1000000);
$zahlmt_rand(1$dirs);

//Vergleichen ob der Ordner schon in einem 
//vorherigen Schleifen-Durchlauf benutzt wurde;
//wenn nicht, einstellen der zufallszahl in ein Array
//Dies ist der Punkt im Script, der 
//offenbar nicht funzt!!!
                        
if(in_array($zahl$directories) ==false)
{
array_push($directories$zahl);

//Zählen der Thumbnails in dem zufällig 
//ausgewählten Ordner
$verz=opendir ("$zahl");
while (
$zaehlen readdir ($verz))
{
if(
$zaehlen != "." && $zaehlen != "..")
{


//Thumbnails des Ordners werden mit ihrem Pfad in das Array 
//"$bilder" gepusht

if (strstr($zaehlen"t.jpg") == true)
{
$pfad"$zahl/$zaehlen";
array_push($bilder$pfad);
}
}
}
// Zufälliges Auswählen eines Thumbnail-
//Pfades aus dem Array "$bilder"

$count=count($bilder);
mt_srand((double)microtime()*1000000);
$zahlimgmt_rand(0$count);
$thumb=$bilder[$zahlimg];
$grossbild=str_replace("t.jpg"".jpg"$thumb);
                                    
$imga=strstr($grossbild"/");
$imgb=str_replace(".jpg"""$imga);
$img=str_replace("/"""$imgb);
$id=substr($thumb0strpos($thumb"/"));

//Vergleich ob das zufällig ausgewählte Thumbnail schon einmal 
//ausgewählt wurde; wenn nicht, Ablegen im Array "$bilder""
                            
if (in_array($thumb$bilder2) == false 
&& empty($thumb)==false &&file_exists("$grossbild") )
{
array_push($bilder2$thumb);

//Ausgabe des ausgewählten Thumbnails falls noch nicht benutzt
                            
echo"<tr><td bgcolor=\"#f0f8ff\" align=\"center\"
 valign=\"middle\"><a hef=\"einzelbild.php?id=$id&img=$img\">
<img src=\"$thumb\" alt=\"Bild $img aus Galerie $id\"></a></td></tr>"
;

closedir("$zahl");
}    

//Wurde das Bild schon einmal verwendet, muss die Schleife ein
//zusätzliches Mal durchlaufen werden:

else
{
$i--;
closedir($zahl);
}
}
else

//Diese Else-Bedingung soll sein für den Fall dass auch der
//Dateiordner (s.o.) schon einmal benutzt wurde. Falls ja,
//dann soll die Schleife nocheinmal durchlaufen werden
{
$i--;
}

Mir ist klar dass dies ein ziemliches Code-Monster ist und dass man vielleicht einiges optimieren könnte was redundant ist (bin halt Newbie, sorry!), aber hat nach Durchsicht dieses codes jemand ne Idee warum das zufällige Auswählen eines Ordners, der jedesmal ein anderer sein soll, nicht klappt?

vielen Dank, der Parse_error

Geändert von Parse_error (25-02-2005 um 16:00 Uhr)
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 25-02-2005, 16:20
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

ich lese den code jetzt bewusst nicht.

aber es sollte doch möglich sein, den bereits ausgewählten ordner in einem array zu speichern, wenn der nächste ordner gewählt wird, prüfst du halt, dass der noch nicht im array gespeichert ist. das ist alles.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:46 Uhr.