Antworten auf deine Fragen:
Neues Thema erstellen

redaktionssystem frage

JoLe05

Nicht mehr ganz neu hier

Hallo!

ich habe hier ein einfaches spaltensystem wo oben die verzeichnisse gelesen werden und unten der inhalt! ich möchte aber jetzt, dass im inhalt die bilder angezeigt werden die im ordner habe und nicht nur die namen wie zb: koala.jpg sondern das bild! vll kann mir einer helfen.

PHP:
<?php
require("includes/config.inc.php");
require("includes/commonfunctions.inc.php");

$inhalt = "";

if(count($_GET)>0) {
    //es soll ein Verzeichnis-Inhalt dargestellt werden
    if(isset($_GET["read"])) {
        $inhalt = VZInhalt($_GET["read"]);
    }
    if(isset($_GET["del"])) {
        ta("Dieses VErzeichnis wird gelöscht: " . $_GET["del"]);
        loescheVZ($_GET["del"]);
    }
}

function loescheVZ($root) {
    $vz = scandir($root);
    foreach($vz as $df) {
        if($df!="." && $df!="..") {
            if(is_file($root.$df)) {
                //ta("lösche ".$root.$df);
                unlink($root.$df);
            }
            else {
                loescheVZ($root.$df."/");
            }
        }
    }
    //ta("lösche VZ ".$root);
    rmdir($root);
}

function VZInhalt($root) {
    $vz = scandir($root);
    $r = '<ul>';
    foreach($vz as $df) {
        if($df!="." && $df!="..") {
            if(is_dir($root.$df)) { $cls = "dir"; }
            else { $cls = "file"; }
            $r = $r . '<li class="' . $cls . '">'.$df.'</li>';
        }
    }
    $r = $r . '</ul>';
    return $r;
}

function leseVZ($root) {
    $vz = scandir($root); //gesamte Inhalt des aktuell betrachteten Verzeichnisses (=$root)
    echo('<ul>');
    foreach($vz as $df) {
        if($df!="." && $df!="..") {
            if(is_dir($root.$df)) {
                echo('<li><a href="?read=' . $root.$df . '/">'.$df.'</a> <a href="?del=' . $root.$df . '/">x</a>');
                leseVZ($root.$df."/");
                echo('</li>');
            }
        }
    }
    echo('</ul>');
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Dateimanager</title>
</head>

<body>
<div id="Verzeichnisse"><?php leseVZ("./"); ?></div>
<div id="Verzeichnisinhalt"><?php echo($inhalt); ?></div>
</body>
</html>
 

Duddle

Posting-Frequenz: 14µHz

AW: redaktionssystem frage

Woran hängst du denn?
Du hast doch schon alles zur Verfügung. Du musst in VZInhalt() pro Datei nur noch erkennen ob es sich um ein Bild handelt (per Abfrage der Endung oder per MIME Type) und das erzeugte HTML entsprechend anpassen.


Duddle
 

JoLe05

Nicht mehr ganz neu hier

AW: redaktionssystem frage

ok ich habs gelöst, aber ein problem habe ich noch :)

es zeigt mir aktuell noch immer den root an, sprich alle ordner. ich möchte aber nur den ordner root/bilder anzeigen lassen.... bitte um hilfe


PHP:
function VZInhalt($root) {
    $vz = scandir($root);
    $r = '<ul>';
    foreach($vz as $df) {
        if($df!="." && $df!="..") {
            if(is_dir($root.$df)) { $cls = "dir"; }
            else { $cls = "file"; }
            $r = $r . '<li class="' . $cls . '">'.$df.'</li>';
            $posLetzerPunkt = strrpos($df,".");
                $suffix = substr($df,$posLetzerPunkt+1);
                $suffixKleinbuchstaben = strtolower($suffix); //gif
                
                $bildtypen = array("jpeg","jpg","gif","png");
                foreach($bildtypen as $bildtyp) {
                    if($bildtyp==$suffixKleinbuchstaben) {
                        echo('<img src="' . $root.$df . '" class="thumb" />');
                        break;
                    }
                }
        }
    }
    $r = $r . '</ul>';
    return $r;
}
 

Duddle

Posting-Frequenz: 14µHz

AW: redaktionssystem frage

Es kommt darauf an, was du wie aufrufst. Wenn du VZInhalt() mit "/" als Parameter aufrufst, dann wird natürlich alles unter "/" gelesen.



Duddle
 

JoLe05

Nicht mehr ganz neu hier

AW: redaktionssystem frage

genau das wars danke!

habs geändert in
PHP:
<div id="Verzeichnisse"><?php leseVZ("./bilder/"); ?></div>


jetzt habe ich nur noch ein Problem und zwar werden die bilder nicht wie geplant rechts oder unterhalb der Baumstruktur ausgegeben sondern im body, also gleich zu Anfang! Irgendwo habe ich noch einen Fehler! hast du vll dazu auch eine idee?

PHP:
<?php
require("includes/config.inc.php");
require("includes/commonfunctions.inc.php");



//ERZEUGE DIR
if(count($_POST)>0) {
    $ok = @mkdir("./bilder/" . $_POST["Verzeichnis"],0755,true);
    if($ok) { $msg1 = '<p class="success">Das Verzeichnis wurde erfolgreich angelegt.</p>'; }
    else { $msg1 = '<p class="error">Das Verzeichnis konnte nicht erfolgreich angezeigt werden.</p>'; }
}
//ERZEUGE DIR ENDE

//UPLOAD
if(count($_FILES)>0) {
    //es wurde das Formular zum Hochladen einer Datei abgeschickt. Wir wissen BIS ZU DIESEM SCHRITT NICHT, ob eine Datei ausgewählt wurde
    if($_FILES["UplDatei"]["size"]>0 && $_FILES["UplDatei"]["error"]==0) {
        //es ist KEIN Fehler beim Upload aufgetreten und die Dateigröße ist größer 0 Byte --> (1) Datei aus dem temporären Verzeichnis in das gewünschte Verzeichnis verschieben
        $ok = move_uploaded_file($_FILES["UplDatei"]["tmp_name"],"./bilder/" . $_FILES["UplDatei"]["name"]);
        if($ok) {
            $msg = '<p class="success">Die Datei wurde erfolgreich hochgeladen.</p>';
        }
        else {
            $msg = '<p class="error">Die Datei konnte leider nicht hochgeladen werden.</p>';
        }
    }
}
//UPLOAD ENDE

if(count($_GET)>0) {
    //es soll ein Verzeichnis-Inhalt dargestellt werden
    if(isset($_GET["read"])) {
        $inhalt = VZInhalt($_GET["read"]);
    }
    if(isset($_GET["del"])) {
        ta("Dieses VErzeichnis wird gelöscht: " . $_GET["del"]);
        loescheVZ($_GET["del"]);
    }
}

function loescheVZ($root) {
    $vz = scandir($root);
    foreach($vz as $df) {
        if($df!="." && $df!="..") {
            if(is_file($root.$df)) {
                //ta("lösche ".$root.$df);
                unlink($root.$df);
            }
            else {
                loescheVZ($root.$df."/");
            }
        }
    }
    //ta("lösche VZ ".$root);
    rmdir($root);
}

function VZInhalt($root) {
    $vz = scandir($root);
    foreach($vz as $df) {
        if($df!="." && $df!="..") {
            if(is_dir($root.$df)) { $cls = "dir"; }
            else { $cls = "file"; }
            $posLetzerPunkt = strrpos($df,".");
                $suffix = substr($df,$posLetzerPunkt+1);
                $suffixKleinbuchstaben = strtolower($suffix); //gif
                
                $bildtypen = array("jpeg","jpg","gif","png");
                foreach($bildtypen as $bildtyp) {
                    if($bildtyp==$suffixKleinbuchstaben) {
                        echo('<img src="' . $root.$df . '" class="thumb" />');
                        break;
                    }
                }
        }
    }
}

function leseVZ($root) {
    $vz = scandir($root); //gesamte Inhalt des aktuell betrachteten Verzeichnisses (=$root)
    echo('<ul>');
    foreach($vz as $df) {
        if($df!="." && $df!="..") {
            if(is_dir($root.$df)) {
                echo('<li><a href="?read=' . $root.$df . '/">'.$df.'</a> <a href="?del=' . $root.$df . '/">x</a>');
                leseVZ($root.$df."/");
                echo('</li>');
            }
        }
    }
    echo('</ul>');
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Dateimanager</title>
<style type="text/css">
#manager{overflow: hidden; width: 960px; border: 1px solid #ccc;}
#verzeichnisse{float: left;}
</style>
</head>

<body>
<div id="manager">
<div id="Verzeichnisse"><?php leseVZ("./bilder/"); ?></div>
<div id="Verzeichnisinhalt"><?php echo($inhalt); ?></div>
</div>
<?php echo($msg1); ?>
<form name="frm" id="frm" method="post" enctype="multipart/form-data">
    <fieldset class="std">
        <legend>Erzeuge Verzeichnis:</legend>
        <label for="Verzeichnis">Verzeichnis:</label><input type="text" name="Verzeichnis" id="Verzeichnis" />
        <input type="submit" value="erzeuge..." />
    </fieldset>
</form>

<?php echo($msg); ?>
<form name="frm" id="frm" method="post" enctype="multipart/form-data">
    <fieldset>
        <legend>Upload</legend>
        <label for="UplDatei">Bitte Datei wählen:</label><input type="file" name="UplDatei" id="UplDatei" />
        <input type="submit" value="hochladen &rsaquo;" />
    </fieldset>
</form>
</body>
</html>
 

Duddle

Posting-Frequenz: 14µHz

AW: redaktionssystem frage

Daten werden da ausgegeben wo du die Anweisung gibst, sie auszugeben. Computer sind dumm und machen exakt das, was du ihnen sagst.

In leseVZ() gibst du unmittelbar HTML aus. Ergo wird dort wo du leseVZ() aufrufst unmittelbar HTML ausgegeben. Wenn du das anders willst, musst du mit Rückgabewerten und Variablen arbeiten.


Duddle
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

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.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben