BilderGalerie - Alben

Ich sehe kein Formular :P
Also es ist egal wenn beim Enctype "multiform/form-data" steht, das wirkt sich nicht auf die anderen Felder aus. Du kannst die Formulare bedenklos vereinen.
 
Hey Maniac :D

uuuups...da hab ich doch glatte den Code des Formulars vergessen ^^

Hab das mit dem Formular jetzt gemacht und das funktioniert auch schon =)
*dank deiner Hilfe*

Da dieses Problem gelößt ist, habe ich auch schon weitere Fragen ;)
Sobald man ein neues Album anlegt, sollte im "galery" - Ordner ein neuer Ordner erstellt werden, der den selben Namen erhält, wie das Album das man erstellt.
Beim Erstellen dieses Albums sollte dann auch gleich das Cover das man hochlädt, in diesen neuen Ordner verschoben werden.
Denkst du auch, dass man das so umsetzen könnte?
Wäre es vielleicht sogar möglich, das Bild automatisch in "Cover" umbenennen zu lassen?
Dann wäre es deutlich übersichtlicher.

Ich habe mich zu diesen Themen auch schon etwas eingelesen und glaube, dass man das auch so umsetzen kann, aber irgendwie stehe ich auf dem Schlauch :)

Gehe ich richtig in der Annahme, dass man mit folgendem Befehl einen Ordner erstellen lassen kann? Wenn ja, kannst du mir das etwas erklären bitte? Ich verstehe den Aufbau nicht so ganz.

PHP:
int mkdir ( string $pathname [, int $mode] )

Mit folgendem Code, wird ja nur überprüft, ob ein Ordner erstellt wurde, würde ich sagen:

PHP:
<?PHP
if ( mkdir ( 'php', 0700 ) )
 {
   echo 'Verzeichnis erstellt!';
 }
 ?>

Hoffe ich erschlage dich nicht mit meinen Fragen ^^

Vielen Dank für deine Hilfe =)

LG Zneaf
 
Dein Obiger Code erstellt schon den Ordner, einfach mal ausprobieren. Vorrausgesetzt es sind Schreibrechte vorhanden.
mkdir() gibt als Rückgabe-Parameter true oder false zurück, deshalb ist er in der if-Bedingung eingebettet.
Man könnte es auch ausführlich schreiben:
PHP:
$path = 'rootPfad/ordnerPfad/unterOrdnerPfad/ordnerName';
$makeFolder = mkdir($path, 0777);
if($makeFolder === true){
    echo "Ordner wurde angelegt!";
}
Das umbenennen der hochgeladenen Datei kannst du gleich in der Funktion:
move_uploaded_file() machen.
PHP:
$alterBildName = $_FILES['bild']['tmp_name'];
$neuerName    = 'Cover.png';
move_uploaded_file($alterBildName,$neuerName);
Wobei bei 'neuerName' auch ein Pfad angegeben werden muss.
 
Hey Maniac ;)

hat wiedermal super funktioniert....deine Erklärungen sind eben super! :D

Hier der Code:
PHP:
// Ordner für das Album erstellen.
$path = "galery/".$ordnername;
$ordner_erstellen = mkdir($path, 0777);
if($ordner_erstellen === true){
			
	// Überprüfen, ob das Formular abgeschickt wurde.
	if( isset($_FILES['bild'])){
		$dateityp = GetImageSize($_FILES['bild']['tmp_name']);

		if($dateityp[2] != 0){
			if($_FILES['bild']['size'] <  1048576){
				$alter_name = $_FILES['bild']['tmp_name'];
				$neuer_name = 'cover.jpg';

				move_uploaded_file($alter_name, "galery/$ordnername/".$neuer_name);
			}else{
				echo "<font face=\"Arial\" color=\"#333333\">Das Bild darf nicht größer als 1 MB sein.</font>";
			}
		}else{
			echo "<font face=\"Arial\" color=\"#333333\">Bitte nur Bilder im JPG Format hochladen.</font>";
		}
	}
			
}

Während ich das alles so umgebaut habe, hatte ich die Idee, dass ich die Bilder innerhalb des Album-Ordners durchzählen lassen könnte. Wäre meiner Meinung nach ein hübscher Zusatz für die Galerie, denn die Anzahl der Bilder könnte ich bei jedem Album anzeigen lassen.

Allerdings weiß ich nicht genau, wie ich den Inhalt eines Ordners zählen lassen kann. Ich habe Beispiele bezüglich der "count()" funktion nur mit Arrays und nicht mit Ordnern gesehen.
Ist das überhaupt so möglich, wie ich mir das gedacht habe?
Kannst du mir dazu vielleicht genaueres sagen? Wäre echt klasse ;)

Vielen Dank

LG Zneaf
 
Dafür kansnt die Funktion glob() verwenden.
Einfach den Pfad angeben und Dateiendung und du bekommst ein komplettes Array welches du mit count() Zählen kannst.
PHP:
$images = glob('ordner/images/*.jpg');
echo "<pre>";
print_r($images);
echo "</pre>";
$counter = count($images);
echo $counter;
 
Hey Maniac ;)

hat wunderbar funktioniert...wo nimmst du nur immer diese tips und tricks her :p
Das erstaunt mich doch immer wieder :D

Das nächste woran ich nun arbeiten möchte, ist, dass man das cover anklicken kann und daraufhin die einzelnen Bilder angezeigt bekommt.

Vorgestellt habe ich mir das so, dass ich das per GET mache. Sollte ja generell möglich sein.

Und ich sehe schon jetzt die Probleme auf mich zukommen^^

Deshalb lasse ich dieses Thema noch offen und melde mich wieder ;)

Vielen Dank für diese super Hilfe ;)

LG Zneaf
 
Woher ich das weiß?
learning by dooing.... lesen, googeln und natürlich dieses Forum hier....

Zu deinem Vorhaben:

genau, GET ist das Stichwort. In einem Link den Ordnernamen als Paramter mitgeben und diesen kannste dann in der funktion glob() verwenden.
Gibt bestimmt noch andere Möglichkeiten, aber das wäre jetzt mal für einen Einsteiger.
 
Hallo zusammen =)

ich hatte heute wieder etwas Zeit, an der Galerie weiter zu arbeiten und habe folgendes zum Laufen gebracht:

Man kann ab sofort das Cover und den Albumnamen anklicken und gelangt zur nächsten Seite auf der die Bilder angezeigt werden sollen.
Das habe ich mir folgendem Code geschafft:
Code:
<a href=\"index.php?site=bilder&album=".$album."&location=".$location."&day=".$day."&month=".$month."&year=".$year."\" style=\"text-decoration: none\"><img width=\"150\" height=\"110\" src=\"galery/$ordnername/cover.jpg\"></a>

Funktioniert einwandfrei ;)

Die Datei zu der man über diesen Link gelangt nenn sich "bilder.php" und sieht momentan wie folgt aus:
PHP:
<?php

// Daten aus URL abholen.
$album = $_GET['album'];
$location = $_GET['location'];
$day = $_GET['day'];
$month = $_GET['month'];
$year = $_GET['year'];

// Ordnernamen zusammenbasteln.
$ordnername = "$album($day-$month-$year)";

// Bilder in Array übergeben.
$images = glob("galery/".$ordnername."/*.jpg");

// Ausgabe der Bilder.

?>

Hier meine nächsten Fragen :D

Habe ich glob() richtig verwendet, um die Bilder ausgeben zu lassen?
Wie genau könnte ich die Bilder nun so ausgeben lassen, dass immer 2 nebeneinander sind?
Vielleicht mit einer Schleife?

Vielen Dank =)

LG Zneaf ^^
 
$images hast du dann als Array vorliegen und iterierst darüber mit einer Foreach-Schleife.
Vor der Schleife eine Zählvariable initialisieren, und in der Schleife mit dem Modulo-Operator darauf abfragen.
Dazu gibt es schon einige Beiträge hier im Forum.
 
Zurück