php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.06.2009, 11:00  
Neuer Benutzer
 
Registriert seit: 04.03.2009
Beiträge: 27
timmeyy befindet sich auf einem aufstrebenden Ast
Standard Dynamisch Ordner erstellen und Dynamisch Bilderordner auslesen

Hi Leute!

ich erstelle zur Zeit eine Bildergalerie.
Mein Hauptproblem ist, das ich keine Dynamik in mein Programm bekomme, zB:

Hier ist mein Script um neue Ordner zu erstellen:

PHP-Code:
<?php

//aktualisieren um erstellten Ordner anzeigen zu können
if ($erstellt "yes") {
header ("Pragma:no-cache");
header("Cache-Control:Private,no-store,no-cache,must-revalidate");

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Neues Album anlegen</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<center>
<h1>Albumdaten</h1>
<form action="<?PHP echo $PHP_SELF?>" method="POST">

&nbsp;Albumname:<br>
         <input type="text" name="covername" value=""><br><br>
&nbsp;Teaser:<br>
     <textarea name="user_eingabe" cols="50" rows="10"></textarea><br><br>
&nbsp;Autor:<br>
     <input type ="text" name="autor" value=""><br><br>
&nbsp;Rubrik:<br>
     <input type ="text" name="rubrik" value=""><br><br>


Publizierdatum:<br/>
         <input name="start-datum-tt" size="2" maxlength="2" value="Tag" type="text" />
         <input name="start-datum-mm" size="2" maxlength="2" value="Monat" type="text" />
         <input name="start-datum-yyyy" size="4" maxlength="4" value="Jahr" type="text" />
         <select name="start-hh">
         <option value="">HH</option>

           <option value="01">01</option>
           <option value="02">02</option>
           <option value="03">03</option>
           <option value="04">04</option>
           <option value="05">05</option>
           <option value="06">06</option>

           <option value="07">07</option>
           <option value="08">08</option>
           <option value="09">09</option>
           <option value="10">10</option>
           <option value="11">11</option>
           <option value="12">12</option>

           <option value="13">13</option>
           <option value="14">14</option>
           <option value="15">15</option>
           <option value="16">16</option>
           <option value="17">17</option>
           <option value="18">18</option>

           <option value="19">19</option>
           <option value="20">20</option>
           <option value="21">21</option>
           <option value="22">22</option>
           <option value="23">23</option>
           <option value="24">24</option>

        </select>
        <select name="start-mm">
           <option value="">MM</option>
           <option value="00">00</option>
           <option value="01">01</option>
           <option value="02">02</option>
           <option value="03">03</option>

           <option value="04">04</option>
           <option value="05">05</option>
           <option value="06">06</option>
           <option value="07">07</option>
           <option value="08">08</option>
           <option value="09">09</option>

           <option value="10">10</option>
           <option value="11">11</option>
           <option value="12">12</option>
           <option value="13">13</option>
           <option value="14">14</option>
           <option value="15">15</option>

           <option value="16">16</option>
           <option value="17">17</option>
           <option value="18">18</option>
           <option value="19">19</option>
           <option value="20">20</option>
           <option value="21">21</option>

           <option value="22">22</option>
           <option value="23">23</option>
           <option value="24">24</option>
           <option value="25">25</option>
           <option value="26">26</option>
           <option value="27">27</option>

           <option value="28">28</option>
           <option value="29">29</option>
           <option value="30">30</option>
           <option value="31">31</option>
           <option value="32">32</option>
           <option value="33">33</option>

           <option value="34">34</option>
           <option value="35">35</option>
           <option value="36">36</option>
           <option value="37">37</option>
           <option value="38">38</option>
           <option value="39">39</option>

           <option value="40">40</option>
           <option value="41">41</option>
           <option value="42">42</option>
           <option value="42">42</option>
           <option value="44">44</option>
           <option value="45">45</option>

           <option value="46">46</option>
           <option value="47">47</option>
           <option value="48">48</option>
           <option value="49">49</option>
           <option value="50">50</option>
           <option value="51">51</option>

           <option value="52">52</option>
           <option value="53">53</option>
           <option value="54">54</option>
           <option value="55">55</option>
           <option value="56">56</option>
           <option value="57">57</option>

           <option value="58">58</option>
           <option value="59">59</option>
        </select><br>
Depublizierdatum:<br />
         <input name="depub-datum-tt" size="2" maxlength="2" value="Tag" type="text" />
         <input name="depub-datum-mm" size="2" maxlength="2" value="Monat" type="text" />
         <input name="depub-datum-yyyy" size="4" maxlength="4" value="Jahr" type="text" />
         <select name="depub-hh">
           <option value="">HH</option>

           <option value="01">01</option>
           <option value="02">02</option>
           <option value="03">03</option>
           <option value="04">04</option>
           <option value="05">05</option>
           <option value="06">06</option>

           <option value="07">07</option>
           <option value="08">08</option>
           <option value="09">09</option>
           <option value="10">10</option>
           <option value="11">11</option>
           <option value="12">12</option>

           <option value="13">13</option>
           <option value="14">14</option>
           <option value="15">15</option>
           <option value="16">16</option>
           <option value="17">17</option>
           <option value="18">18</option>

           <option value="19">19</option>
           <option value="20">20</option>
           <option value="21">21</option>
           <option value="22">22</option>
           <option value="23">23</option>
           <option value="24">24</option>

        </select>
        <select name="stop-mm">
           <option value="">MM</option>
           <option value="00">00</option>
           <option value="01">01</option>
           <option value="02">02</option>
           <option value="03">03</option>

           <option value="04">04</option>
           <option value="05">05</option>
           <option value="06">06</option>
           <option value="07">07</option>
           <option value="08">08</option>
           <option value="09">09</option>

           <option value="10">10</option>
           <option value="11">11</option>
           <option value="12">12</option>
           <option value="13">13</option>
           <option value="14">14</option>
           <option value="15">15</option>

           <option value="16">16</option>
           <option value="17">17</option>
           <option value="18">18</option>
           <option value="19">19</option>
           <option value="20">20</option>
           <option value="21">21</option>

           <option value="22">22</option>
           <option value="23">23</option>
           <option value="24">24</option>
           <option value="25">25</option>
           <option value="26">26</option>
           <option value="27">27</option>

           <option value="28">28</option>
           <option value="29">29</option>
           <option value="30">30</option>
           <option value="31">31</option>
           <option value="32">32</option>
           <option value="33">33</option>

           <option value="34">34</option>
           <option value="35">35</option>
           <option value="36">36</option>
           <option value="37">37</option>
           <option value="38">38</option>
           <option value="39">39</option>

           <option value="40">40</option>
           <option value="41">41</option>
           <option value="42">42</option>
           <option value="42">42</option>
           <option value="44">44</option>
           <option value="45">45</option>

           <option value="46">46</option>
           <option value="47">47</option>
           <option value="48">48</option>
           <option value="49">49</option>
           <option value="50">50</option>
           <option value="51">51</option>

           <option value="52">52</option>
           <option value="53">53</option>
           <option value="54">54</option>
           <option value="55">55</option>
           <option value="56">56</option>
           <option value="57">57</option>

           <option value="58">58</option>
           <option value="59">59</option>
        </select><br><br>
&nbsp;Bereich:<br>        
         <input type="radio" name="gruppe" value="1">1
         <input type="radio" name="gruppe" value="2">2
         <input type="radio" name="gruppe" value="3">3
         <input type="radio" name="gruppe" value="4">4
         <input type="radio" name="gruppe" value="5">5
         <input type="radio" name="gruppe" value="6">6<br><br>
                
        
          
 <input type="hidden" name="senden" value="ja" />
<input type="Submit" value="senden">
</form>
</center>
<?php 
$path 
'./images/pics/';

$covername mysql_real_escape_string($_POST['covername']);
$teaser mysql_real_escape_string($_POST['user_eingabe']);
$autor mysql_real_escape_string($_POST['autor']);
$rubrik mysql_real_escape_string($_POST['rubrik']);
$start $_POST['start-hh'];
$end $_POST['depub-hh'];
$gruppe $_POST['gruppe'];

 
 

//Ordner erstellen
error_reporting(E_ALL);
if (isset(
$_POST['covername'])) {
  
$oldumask umask(0);
  
mkdir ($path.$_POST['covername'], 0777); //erstelle Ordner mit angegebenen Namen
  
umask($oldumask); 
  
mysql_query("INSERT INTO albumdaten (name, teaser, autor, pup, depup, rubrik, bereich) 
                      VALUES('"
.$covername."', '".$teaser."', '".$autor."', '".$start."', '".$end."','".$rubrik."','".$gruppe."')");
  echo 
"Bilder-Album ".$_POST['covername']." erfolgreich erstellt!";
  
$erstellt "yes";

}

else
{
$checkcovername mysql_query("SELECT * FROM albumdaten WHERE name = '".$covername."'");
     
     if(
mysql_num_rows($checkcovername) == 1)
     {
         echo 
"<h1>Error</h1>";
        echo 
"<p>Dieses Album ist schon angelegt</p>";
     }
    
        
        else
        {
             echo 
"<h1>Error</h1>";
            echo 
"<p>Bitte erneut versuchen<a href=\"index.php\">zurueck</p>";   
        } 
}

$erstellt "no";



echo 
"<br><br><a href='pic.php'>&laquo; Zurück</a><br>";
?>
Das dumme ist ich weiß nicht wie ich es realisieren soll, dass das Album nicht immer unter $path = './images/pics/'; angelegt wird. Ich brauche da mal nen denkanstoß.
Genau das selbe Problem hab ich beim Bilderupload, ich will das man die Ordner ganz Variabel anlegen kann und bei den Bildern genauso..

Danke euch schonmal im voraus..

mfg
timmeyy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.06.2009, 11:07  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

gibt es verschiedene Benutzer? Dann könntest du das benutzer spezifisch machen.
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 19.06.2009, 11:14  
Neuer Benutzer
 
Registriert seit: 04.03.2009
Beiträge: 27
timmeyy befindet sich auf einem aufstrebenden Ast
Standard

Hi!
ja es gibt verschiedene Benutzer und verschiedene Gruppen und zwar habe ich mir folgendes überlegt, ich übergebe mit der GET-Variabel die ID des eingeloggten Benutzers der wird auf seinen Bereich weitergeleitet und dort lege ich die Ordner an, was meinst du dazu?

Danke für die schnelle Antwort!
timmeyy ist offline  
Alt 19.06.2009, 11:18  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

GET ist dafür ungeeignet. Da es manipuliert werden kann. Nimm anstelle von GET lieber SESSION. Ich würde auch nur mit virtuellen Ordner arbeiten. das heist Ordner werden in der DB angelegt passend zum Benutzer. Bilder werden mit dem virtuellen Ordner ausgegeben.
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 19.06.2009, 11:33  
Neuer Benutzer
 
Registriert seit: 04.03.2009
Beiträge: 27
timmeyy befindet sich auf einem aufstrebenden Ast
Standard

Ja also die Ordner werden auf dem Webserver und gleichzeitig in der DB angelegt aber eben nur mit der ID, Name, Beschreibung eben alles was man im HTML-Formular angeben kann. Also ich will auf keinen Fall Bilder in die DB schreiben, sondern nur Bilder-Daten. Da die Ordner eine Gruppen-ID mit bekommen, könnte ich theoretisch einfach ne Abfrage machen ob der Ordner die gleiche ID wie der Benutzer hat oder?
timmeyy ist offline  
Alt 19.06.2009, 11:45  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

Ich würde bzw. hab es so gemacht. Ich entscheide wo bilder auf meinem Server liegen. Daher gibt es nur einen Bilderordner für alle Bilder. Damit aber User verschiedene Virtuelle Ordner anlegen können, habe ich diese nur in der DB stehen.
Es gibt eine Tabelle User, Ordner und Bilder. Die Bilder werden immer beim Upload umbenannt und in ein und den selben Ordner geladen.

Durch die Userid, die Ordnerid evtl. Unterodrnerid und Bildnahmen weiss ich immer welches Bild zu welchem User gehört und in welchem Virtuellen Ordner das Bild liegt.

Vorteil: der User kann Ordner anlegen soviel wie er will. Er bekommt immer nur seine Bilder angezeigt.
Das ganze wird durch mod_rewrite verwaltet. Damit kann ich z.b. Traffic klau verhindern.
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 19.06.2009, 11:54  
Neuer Benutzer
 
Registriert seit: 04.03.2009
Beiträge: 27
timmeyy befindet sich auf einem aufstrebenden Ast
Standard

Ok jetzt wird das ganze klarer, ich habe auch USER, ORDNER, BILDER - Tabellen.
Ok du hast also sozusagen einen Bilderpool, wo alle Bilder drin sind die hochgeladen wurden?
Liest du dann aus deiner Ordner - Tabelle einfach die ID des Ordners aus oder speicherst du den Pfad des Ordners in der Tabelle und liest diesen aus?
So ähnlich habe ich mir das auch überlegt:
Also ein Benutzer lockt sich ein, seine ID wird in eine Session-Variable geschrieben, dann wird er je nachdem welcher Gruppe er anghört weitergeleitet auf den Adminbereich oder das Auswahlformular, wo er wählen kann, ob er auf "sein" Filesystem zugreift oder auf die Ordner welche die ID besitzen die zu seiner passen...
Bei mir ist es irrelevant, ob das Bild zum User gehört, weil ich alles über die Gruppen mache!
Also muss ich eigentlich nur vor jedem Formular aufruf die gruppenid prüfen, könnte so funktionieren oder? !

danke dir nochmals
timmeyy ist offline  
Alt 19.06.2009, 11:59  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

Zitat:
Zitat von timmeyy Beitrag anzeigen
Ok du hast also sozusagen einen Bilderpool, wo alle Bilder drin sind die hochgeladen wurden?
Ja
Zitat:
Zitat von timmeyy Beitrag anzeigen
Liest du dann aus deiner Ordner - Tabelle einfach die ID des Ordners aus oder speicherst du den Pfad des Ordners in der Tabelle und liest diesen aus?
die jeweilige Ordner id

Zitat:
Zitat von timmeyy Beitrag anzeigen
Also muss ich eigentlich nur vor jedem Formular aufruf die gruppenid prüfen, könnte so funktionieren oder? !
genau das solltest du in z.B. einer funktion die ganze Zeit machen. Egal was der User gerade macht. damit kannst du immer kontrolieren was passiert.

Zitat:
Zitat von timmeyy Beitrag anzeigen
danke dir nochmals
Gerne doch.
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 19.06.2009, 14:26  
Neuer Benutzer
 
Registriert seit: 04.03.2009
Beiträge: 27
timmeyy befindet sich auf einem aufstrebenden Ast
Standard

Ok!
jetzt mal zur funktion..
meint ihr ich sollte das mit switch und case machen?
weil ich habe 6 verschiedene gruppen, dh. ich müsste für jede gruppe einen neuen bereich erstellen, wo nur die ordner der gruppe zu sehen sind?!
timmeyy ist offline  
Alt 22.06.2009, 09:13  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

Nö, brauchst du nicht. Du hast doch die Daten aus der DB und der Session und evtl. dem Keks.
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ordner erstellen beim Dateiupload t-stude PHP Tipps 2009 12 13.03.2009 18:24
Mehrere Ordner auslesen, klappt nicht so ganz :( stayInside PHP Tipps 2009 21 11.02.2009 14:59
[Erledigt] Neue Datei in neuem Ordner erstellen T-boy1994 PHP Tipps 2008 2 07.11.2008 16:22
Ordner auslesen und während des auslesen sortieren Dooki PHP Tipps 2008 6 14.05.2008 17:50
Ordner mit PHP erstellen PHP Tipps 2006 3 18.06.2006 20:54
TreeMenu Fatal Error PHP Tipps 2006 8 07.04.2006 11:22
Unter ordner und Files automatisch auslesen lichtscheu PHP Tipps 2006 6 09.03.2006 19:19
Ordner auslesen PHP Tipps 2005-2 12 03.07.2005 16:43
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
Ordner auslesen - Zusätzliche Bildplatzhalter PHP Tipps 2005 8 21.05.2005 12:25
Ordner erstellen und Datei uploaden Juuro PHP Tipps 2005 6 20.01.2005 21:18
ordner mit php erstellen PHP Tipps 2004-2 8 17.12.2004 14:47
ordner in einem verzeichnis auslesen und anzeigen lindner PHP Tipps 2004 5 19.08.2004 00:03
Ordner per Skript erstellen --> Rechte Problem PHP Tipps 2004 2 06.07.2004 14:19
Ordner Auslesen PHP Tipps 2004 3 03.07.2004 09:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
dynamischer ordner, dynamische ordner, http://www.php.de/php-einsteiger/56228-dynamisch-ordner-erstellen-und-dynamisch-bilderordner-auslesen.html, php dynamische ordnerstruktur, bilderordner auslesen, bildergalerie aus verzeichnis erstellen php, dynamische ordner erstellen php, dynamischer pfad bilder auslesen php, wie kann ich virtuelle bildordner anlegen, html dynamisch fotos aus ordner auslesen, php ordner dynamisch anlegen, <option value=\01\>, php verzeichnis dynamisch, verzeichnisse anlegen skript, ordner mit php auslesen erstellen, dynamische html ordnerstruktur, dynamische ordner anzeige, php bilderalbum erstellen, php dynamischer unterordner, verzeichnis dynamisch erstellen html

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum