Zurück   PSD-Tutorials.de > Webbereich > PHP und andere Scriptsprachen


Antwort
 
Themen-Optionen
Alt 29.04.2012, 15:25   #16 Nach oben scrollen
PC-Freak :D
HelperHelper
Themenstarter
 
Benutzerbild von d3mueller
 

Registriert seit: 22.03.2012
Ort: Deutschland
Beiträge: 248
Verwendet: Adobe Collection, GIMP
AW: Checkbox mit PHP auswerten + Datei aus Ordner löschen
Hi, danke für die Antworten.

@Duddle
zu a)
Klingt logisch, aber ich denke ich nehme b)^^ Aber ich lese es mir mal trotzdem durch.

zu b)
Hm.. müsste das nicht so gehen?
PHP-Code:
...
  
$dir "/fotos/mannschaftsfotos/";
foreach(
glob($dir) as $zaehlen => $datei)  {
 if (
$zaehlen  <= 20) { 
  echo 
"<option value='" $datei "'>" $datei "</option>";
... 
Geht aber iwie nicht


@Tr3icio

Cool. viel kürzer^^


das 2.:
Das verstehe ich iwie nicht so^^
Und wieso muss man diese if-abfrage nicht hinpacken:
PHP-Code:
    if ($file != "." && $file != ".." && !is_dir($file)) { 
kann man so nicht noch sichergehen, dass keine irgendwie schreibt ../fotos/mannschaftsfotos
oder so?






Aber echt, vielen Dank

Lg
Dennis
  Mit Zitat antworten


Alt 29.04.2012, 15:34   #17 Nach oben scrollen
Newbie
Newbie
 

Registriert seit: 03.04.2011
Ort: Hude
Beiträge: 53
Verwendet: Jetbrains PhpStorm
AW: Checkbox mit PHP auswerten + Datei aus Ordner löschen
@d3mueller

Ganz einfach :-)
1. Du schaust ob der Name nicht . und nicht .. ist. "." ist das Verzeichnis selbst und ".." das "Elternverzeichnis" (mir fällt grade nicht ein was ich schreiben soll xD), es sind also beides Verzeichnisse, weswegen is_dir() auch "." und ".." erkennt. Deswegen reicht:

is_dir($file) || !preg_match('/\.(gif|jpeg|jpg|png)$/', $file)

Und wegen dem "../fotos/mannschaftsfotos" kannst du einfach ein trim anwenden.
Ein Beispiel:

PHP-Code:
$var trim('../fotos/mannschaftsfotos'' ./');
$var == 'fotos/mannschaftsfotos' // Es wurden vorne und hinten alle Leerzeichen, Punkte und Slashes entfernt :-) 
Und was mir gerade noch aufgefallen ist:
PHP-Code:
echo "<option value='" $datei "'>" $datei "</option>"
Du kannst value='" . $datei . "' weglassen.
Wenn bei <option> das Attribute value weggelassen wird, wird einfach der Inhalt genommen. (<option>test</option> ist das selbe wie <option value="test">lol</option>)
  Mit Zitat antworten
Alt 29.04.2012, 15:41   #18 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
AW: Checkbox mit PHP auswerten + Datei aus Ordner löschen
Dein Muster ist nicht vollständig. In deinem Beispiel wird exakt der angegebene Ordner gefunden/zurückgegeben, nicht seine Inhalte. Sobald du eine Wildcard "*" dranhängst, findet er alle darauf passenden Inhalte.
Problematisch werden dabei aber nicht-Bilder, und bisher arbeitest du ja nur mit Bildern. Du müsstest dann genauer angeben, welche Dateiendungen du akzeptieren willst und dabei mit geschweiften Klammern und der Option GLOB_BRACE spielen. Das wird in dem verlinkten Tutorial erklärt.



Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall
  Mit Zitat antworten
Alt 29.04.2012, 17:49   #19 Nach oben scrollen
PC-Freak :D
HelperHelper
Themenstarter
 
Benutzerbild von d3mueller
 

Registriert seit: 22.03.2012
Ort: Deutschland
Beiträge: 248
Verwendet: Adobe Collection, GIMP
AW: Checkbox mit PHP auswerten + Datei aus Ordner löschen
Zitat:
Zitat von Tr3icio Beitrag anzeigen
@d3mueller

Ganz einfach :-)
1. Du schaust ob der Name nicht . und nicht .. ist. "." ist das Verzeichnis selbst und ".." das "Elternverzeichnis" (mir fällt grade nicht ein was ich schreiben soll xD), es sind also beides Verzeichnisse, weswegen is_dir() auch "." und ".." erkennt. Deswegen reicht:

is_dir($file) || !preg_match('/\.(gif|jpeg|jpg|png)$/', $file)

Und wegen dem "../fotos/mannschaftsfotos" kannst du einfach ein trim anwenden.
Ein Beispiel:

PHP-Code:
$var trim('../fotos/mannschaftsfotos'' ./');
$var == 'fotos/mannschaftsfotos' // Es wurden vorne und hinten alle Leerzeichen, Punkte und Slashes entfernt :-) 
Und was mir gerade noch aufgefallen ist:
PHP-Code:
echo "<option value='" $datei "'>" $datei "</option>"
Du kannst value='" . $datei . "' weglassen.
Wenn bei <option> das Attribute value weggelassen wird, wird einfach der Inhalt genommen. (<option>test</option> ist das selbe wie <option value="test">lol</option>)
Okay. Danke
Nur was bedeutet dieses
continue;?
Und warum sind da keine eschweiften klammern in dem Code? oder find ich die nur nicht.




Zitat:
Zitat von Duddle Beitrag anzeigen
Dein Muster ist nicht vollständig. In deinem Beispiel wird exakt der angegebene Ordner gefunden/zurückgegeben, nicht seine Inhalte. Sobald du eine Wildcard "*" dranhängst, findet er alle darauf passenden Inhalte.
Problematisch werden dabei aber nicht-Bilder, und bisher arbeitest du ja nur mit Bildern. Du müsstest dann genauer angeben, welche Dateiendungen du akzeptieren willst und dabei mit geschweiften Klammern und der Option GLOB_BRACE spielen. Das wird in dem verlinkten Tutorial erklärt.
Duddle
Oookay^^, wie mache ich eine Wildcard, bzw. was ist eine Wildcard? Muss ich einfach nur ein * hinten an den Pfad hängen? Weil das funktioniert nicht, habs probiert.


Danke schon mal,
Liebe Grüße
Dennis
  Mit Zitat antworten
Alt 29.04.2012, 17:58   #20 Nach oben scrollen
Newbie
Newbie
 

Registriert seit: 03.04.2011
Ort: Hude
Beiträge: 53
Verwendet: Jetbrains PhpStorm
AW: Checkbox mit PHP auswerten + Datei aus Ordner löschen
continue; heißt, dass die Schleife ab dem Punkt wieder von vorne beginnt.
Ein Beispiel:

PHP-Code:
$i 0// blödes beispiel ;-)
while ($i 5)
{
    
$i++; 
    if (
$i 3) continue;

    echo 
$i;

Wenn $i kleiner als 3 ist wird continue; ausgeführt und die Schleife beginnt von vorne.
Das heißt am ende gibt die Schleife nur aus: 34 anstatt 1234.
Bei break; würde die Schleif komplett abgebrochen werden, das heißt es würde mit dem Code nach der Schleife (nach dem }) weitergemacht werden.

Und die geschweiften Klammern sind unnötig (in diesem Fall).
Wenn du nur 1 Sache in der if-Abfrage ausführst, kannst du die Klammern weglassen.
  Mit Zitat antworten
Alt 29.04.2012, 18:14   #21 Nach oben scrollen
PC-Freak :D
HelperHelper
Themenstarter
 
Benutzerbild von d3mueller
 

Registriert seit: 22.03.2012
Ort: Deutschland
Beiträge: 248
Verwendet: Adobe Collection, GIMP
AW: Checkbox mit PHP auswerten + Datei aus Ordner löschen
Danke für die Erklärung
  Mit Zitat antworten
Antwort


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