Hagbard_Celine
Guest
undefined
Nein, dann bräuchtest du nur eine Seite (galerie.php) die würdest du dann z.B. so aufrufenJa wenn das ginge, dann könnte ich in jede Datei den selben PHP Code einbauen, bzw. per Include einbinden ohne das man jemals etwas ändern müsste.
<a href="galerie.php?kategorie=sport">Sport</a>
<a href="galerie.php?kategorie=theater">Theater</a>
$_GET["kategorie"]
Hagbard_Celine
Guest
Nein, dann bräuchtest du nur eine Seite (galerie.php) die würdest du dann z.B. so aufrufen
jetzt kannst du in "galerie.php" perPHP:<a href="galerie.php?kategorie=sport">Sport</a> <a href="galerie.php?kategorie=theater">Theater</a>
ermitteln, welcher Wert dort übergeben wurde und dementsprechend weiter verfahren. Wichtig ist, das du den Wert auf seine Gültigkeit überprüfst.PHP:$_GET["kategorie"]
Hagbard_Celine
Guest
$bilder = glob("img/galerie/rubrik_006/*.jpg");
shuffle($bilder);
for ($i = 0; $i<10; $i++){
echo '<img src="'.$bilder[$i].'" />'."\n"; //vereinfacht
}
$_GET["kategorie"]
$array = array(
'sport' => 'rubrik_001',
'theater' => 'rubrik_002'
);
if(isset($array[$_GET['kategorie']])) {
$bilder = glob("img/galerie/" . $array[$_GET['kategorie']] . "/*.jpg");
// restlicher Code fuer die Galerie ..
}
Hagbard_Celine
Guest
$array = array(
'sport' => 'rubrik_001',
'buehne' => 'rubrik_002',
'reise' => 'rubrik_003',
'natur' => 'rubrik_004',
'industrie' => 'rubrik_005',
'misc' => 'rubrik_006'
);
if(isset($array[$_GET['kategorie']])) {
$bilder = glob("img/galerie/" . $array[$_GET['kategorie']] . "/*.jpg");
shuffle($bilder);
for ($i = 0; $i<10; $i++){
echo '<img src="'.$bilder[$i].'" />'."\n"; //vereinfacht
}
}
Nicht mehr ganz neu hier
//diese rubriken gibt es
$array = array(
'sport' => 'rubrik_001',
'buehne' => 'rubrik_002',
'reise' => 'rubrik_003',
'natur' => 'rubrik_004',
'industrie' => 'rubrik_005',
'misc' => 'rubrik_006'
);
//ist in der $_GET variable eine entsprechende kategorie gesetzt
if(isset($array[$_GET['kategorie']])) {
//hohlst du dir *alle* bilder aus dieser
$bilder = glob("img/galerie/" . $array[$_GET['kategorie']] . "/*.jpg");
//mischst alle Bilder in ihrer Reihenfolge
shuffle($bilder);
//führst für die Bilder 0 - 9 (ein array fängt bei 0 an zu zählen) den folgenden Code aus
for ($i = 0; $i<10; $i++){
// gibst das bild aus
echo '<img src="'.$bilder[$i].'" />'."\n"; //vereinfacht
}
}
Hagbard_Celine
Guest
Überleg doch mal was dein Code macht. Vielleicht kommst du ja dann selbst auf die Lösung
//diese rubriken gibt es
$array = array(
'sport' => 'rubrik_001',
'buehne' => 'rubrik_002',
'reise' => 'rubrik_003',
'natur' => 'rubrik_004',
'industrie' => 'rubrik_005',
'misc' => 'rubrik_006'
);
//ist in der $_GET variable eine entsprechende kategorie gesetzt
if(isset($array[$_GET['kategorie']])) {
//hohlst du dir *alle* bilder aus dieser
$bilder = glob("img/galerie/" . $array[$_GET['kategorie']] . "/*.jpg");
//mischst alle Bilder in ihrer Reihenfolge
shuffle($bilder);
// gibst das bild aus
echo '<img src="'.$bilder[$i].'" />'."\n"; //vereinfacht
}
me.drinkCoffee();
<?php
//diese rubriken gibt es
$array = array(
'sport' => 'rubrik_001',
'buehne' => 'rubrik_002',
'reise' => 'rubrik_003',
'natur' => 'rubrik_004',
'industrie' => 'rubrik_005',
'misc' => 'rubrik_006'
);
//ist in der $_GET variable eine entsprechende kategorie gesetzt
if(isset($array[$_GET['kategorie']]))
{
//hohlst du dir *alle* bilder aus dieser
$bilder = glob("img/galerie/" . $array[$_GET['kategorie']] . "/*.jpg");
// --- zufällige Anordnung oder nicht => neuer Parameter
if(isset($_GET['shuffle']))
{
//mischst alle Bilder in ihrer Reihenfolge
shuffle($bilder);
}
// --- => neuer Parameter für die Anzahl an Bildern
// --- wenn gesetzt, nur die gewünschte Anzahl an Bildern ausgeben
if(isset($_GET['count'])
{
//führst für die Bilder 0 - 9 (ein array fängt bei 0 an zu zählen) den folgenden Code aus
for ($i = 0; $i<$_GET['count']; $i++)
{
// gibst das bild aus
echo '<img src="'.$bilder[$i].'" />'."\n"; //vereinfacht
}
}
else
{
// --- alle Bilder ausgeben
foreach($bilder AS $bild)
{
echo '<img src="'.$bild.'" />'."\n"; //vereinfacht
}
}
}
?>
galerie.php?kategorie=sport&shuffle&count=10
=> Kategorie Sport (Ordner 'rubrik_001'), 10 zufällige Bilder anzeigen
galerie.php?kategorie=reise
=> Kategorie Reise (Ordner 'rubrik_003'), alle Bilder in normaler Reihenfolge anzeigen
Hagbard_Celine
Guest
Hi,
in deinem Versuch initialisierst du die Variable $i nicht. Was du also brauchst, ist eine Schleife, die alle Elemente im Array durchgeht (z.B. foreach, oder for mit entsprechendem Wert).
Du kannst das aber auch mit Parametern regeln (z.B. wenn du nur ein paar zufällige Bilder ausgeben willst, oder alle Bilder der Reihenfolge nach anzeigen möchtest)
Dafür ein bearbeitetes Script auf Grundlage von SineTempore:
...
Momentan kann ich das sicher vernachlässigen, da ich keinen Count benutze, aber ich muss gestehen, das die Seite welche Du referenzierst für mich nicht verständlich genug ist um eine solche Überprüfung selbst einzubauen..... man sollte dann aber auch testen, ob die uebergebene Variable ($_GET['count']) auch wirklich eine Zahl ist .. (PHP: is_numeric - Manual)
Dazu ist es sicherlich sehr interessant, wenn im Ordner 10 Bilder sind, ich als count allerdings 50 angebe ..
me.drinkCoffee();
<?php
//diese rubriken gibt es
$array = array(
'sport' => 'rubrik_001',
'buehne' => 'rubrik_002',
'reise' => 'rubrik_003',
'natur' => 'rubrik_004',
'industrie' => 'rubrik_005',
'misc' => 'rubrik_006'
);
//ist in der $_GET variable eine entsprechende kategorie gesetzt
if(isset($array[$_GET['kategorie']]))
{
//hohlst du dir *alle* bilder aus dieser
$bilder = glob("img/galerie/" . $array[$_GET['kategorie']] . "/*.jpg");
// --- zufällige Anordnung oder nicht => neuer Parameter
if(isset($_GET['shuffle']))
{
//mischst alle Bilder in ihrer Reihenfolge
shuffle($bilder);
}
// --- => neuer Parameter für die Anzahl an Bildern
// --- wenn gesetzt, nur die gewünschte Anzahl an Bildern ausgeben
if(isset($_GET['count'] && is_numeric($_GET['count']) && $_GET['count'] <= count($bilder))
{
//führst für die Bilder 0 - 9 (ein array fängt bei 0 an zu zählen) den folgenden Code aus
for ($i = 0; $i<$_GET['count']; $i++)
{
// gibst das bild aus
echo '<img src="'.$bilder[$i].'" />'."\n"; //vereinfacht
}
}
else
{
// --- alle Bilder ausgeben
foreach($bilder AS $bild)
{
echo '<img src="'.$bild.'" />'."\n"; //vereinfacht
}
}
}
?>
PHP:<?php $bilder = glob("img/galleries/event/*.jpg"); $bild = array_rand($bilder, 10); shuffle($bild); foreach ($bild as $zufallsbild) { $bildinfo = getimagesize ($bilder[$zufallsbild]); echo '<img src="' .$bilder[$zufallsbild]. '" ' .$bildinfo[3]. '" />' . "\n"; } ?>
http://www.domain.de/dies/ist/die/url/zur/seite/bilder/test/zufaelligebilderausgabe/bild4.jpg
http://www.domain.de/bilder/test/zufaelligebilderausgabe/bild4.jpg
me.drinkCoffee();
<?php
$bilder = glob("bilder/test/zufaelligebilderausgabe/*.jpg");
$bild = array_rand($bilder, 2);
shuffle($bild);
foreach ($bild as $zufallsbild)
{
$bildinfo = getimagesize ($bilder[$zufallsbild]);
echo '<img src="' .$bilder[$zufallsbild]. '" ' .$bildinfo[3]. '" />' . "\n";
}
?>
http://www.domain.de/bilder/test/zufaelligebilderausgabe/
<?php
$bilder = glob("http://www.meinServer.at/bilder/test/zufaelligebilderausgabe/*.jpg");
$bild = array_rand($bilder, 2);
shuffle($bild);
foreach ($bild as $zufallsbild)
{
$bildinfo = getimagesize ($bilder[$zufallsbild]);
echo '<img src="' .$bilder[$zufallsbild]. '" ' .$bildinfo[3]. '" />' . "\n";
}
?>
Warning: array_rand() [function.array-rand]: First argument has to be an array in /www/ ... /includes/runtime.php(42) : eval()’d code on line 3
Warning: shuffle() expects parameter 1 to be array, null given in /www/ ... /includes/runtime.php(42) : eval()’d code on line 4
Warning: Invalid argument supplied for foreach() in /www/ ... /includes/runtime.php(42) : eval()’d code on line 5
Willkommen auf PSD-Tutorials.de
In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.
Nächster neuer Gratisinhalt
Statistik des Forums