myGully.com

myGully.com (https://mygully.com/index.php)
-   Entwicklung & Programmierung (https://mygully.com/forumdisplay.php?f=72)
-   -   HTML Daten automatisch einbinden (https://mygully.com/showthread.php?t=2633200)

PSP3004 31.05.12 14:39

HTML Daten automatisch einbinden
 
Ich habe folgendes Problem:
Ich habe einen Ordner in diesem sind mehrere Unterorder und in jeden einzelnen Ordner ist eine info.xml
die folgender maßen aufgebaut ist

Code:

<?xml version="1.0" encoding="utf-8"?>
<Title>
    <LocalTitle>Name1</LocalTitle>
    <OriginalTitle>Name2</OriginalTitle>
    <SortTitle>Name 3</SortTitle>
</title

Nun möchte ich das wenn die Webseite geladen wird Die jeweiligen XML-Dateien in einem eigenen abschnitt angezeigt werden also so ungefähr:



Weis jemand wie ich das realisieren kann?
Danke schon mal im Voraus.

josum 31.05.12 15:05

Ich denke mal dafür musst du ein bisschen php code benutzen

Zuerst guckst du wieviele unterordner es gibt, und gehst dann in die rein, holst die Dateien und gibst sie raus.

Ich kann dir jetzt keinen Code liefern, da ich mich nur rudimentär mit PHP beschäftigt hab, wenn ich aber noch zeit finde mach ich das noch.

Viele Grüße
Josum

PSP3004 31.05.12 15:19

Zitat:

Zitat von josum (Beitrag 23561613)
Ich denke mal dafür musst du ein bisschen php code benutzen

Zuerst guckst du wieviele unterordner es gibt, und gehst dann in die rein, holst die Dateien und gibst sie raus.

Ich kann dir jetzt keinen Code liefern, da ich mich nur rudimentär mit PHP beschäftigt hab, wenn ich aber noch zeit finde mach ich das noch.

Viele Grüße
Josum

Mhh so weit hab ich mir das schon gedacht. Nur weiß ich nicht wie ich das mit php machen soll wäre nett wenn mir jemand ein Ansatz geben würde.

josum 31.05.12 19:50

Hast du denn eine Fixe Anzahl von Unterordnern? (Wahrscheinlich nicht, sonst bräuchtest du ja keinen dynamischen Workaround)

josum 31.05.12 20:08

Also zuerst einmal listen wir die Dateien auf: (Ich hab selber keine möglichkeiten das ganze zu testen, hoffe es funktioniert so, notfalls meld dich nochmal)

PHP-Code:

$direc opendir(VEREICHNIS);
=0;
while( 
$file readdir($direc)) {
if( 
is_dir($file) ) {
    array[
$i] = $file;
    
i++;
}

// Jetzt geben wir das aus, dafür müsste jede Datei gleich benannt sein, sonst muss da noch was anderes dazugehackt werden

foreach( $array as $ordner ) {
    
// Gebe Datei aus, Pfad liegt in $ordner


Ich bin nicht komplett fertig geworden, vor allem weil ich, wie oben beschrieben, kein Testsystem hab. Probiers mal aus...

Viele Grüße
Josum

PSP3004 31.05.12 20:35

Zitat:

Zitat von josum (Beitrag 23562557)
Hast du denn eine Fixe Anzahl von Unterordnern? (Wahrscheinlich nicht, sonst bräuchtest du ja keinen dynamischen Workaround)

Ne habe ich nicht und es werden nach und nach immer noch Ordner hinzu gefügt

Zitat:

Zitat von josum (Beitrag 23562630)
Also zuerst einmal listen wir die Dateien auf:
...
Ich bin nicht komplett fertig geworden, vor allem weil ich, wie oben beschrieben, kein Testsystem hab. Probiers mal aus...

Viele Grüße
Josum

Danke werde es mal testen und mich dann melden.


Aber das sieht mir so aus als ob ich das heute schon mal von wo anders her so ungefähr hatte und es nicht klappen wollte

EDIT:
Noch ne frage eben

PHP-Code:

$direc opendir(VEREICHNIS); 

wie muss das Verzeichnis dort angeben werden?

josum 01.06.12 12:42

Als String, also:

PHP-Code:

$direc opendir("/home/foo"); 

Als beispiel

PSP3004 01.06.12 16:10

Zitat:

Zitat von josum (Beitrag 23562630)
... notfalls meld dich nochmal)

So ich habs mal getestet aber es klappt irgendwie nicht so recht...

So sieht es bei mir im moment aus

josum 01.06.12 19:53

Hab jetzt doch n Testsystem aufgetrieben. folgende Struktur hab ich gebaut:

php-datei
./XML1/content.xml
./XML2/content.xml
./XML3/content.xml

php-datei entspricht der unten aufgelistete Code. Die verschiedenen Variablen kannst du beliebig anpassen. In der foreach schleife wird mit jedem Schleifendurchlauf die Variable Pfad von oben nach unten in einen Dateipfad umgeändert. Der liegt dann, um damit zu arbeiten, in $pfad. Ich hoffe das hilft jetzt...

Viele Grüße
Josum

PHP-Code:

<?php
error_reporting
(E_ALL);
$direc opendir(".");
$i 0;
$ordner = array();
while( 
$file readdir($direc)) {
  if( 
is_dir($file) and $file != "." and $file != ".." ) {
      
$ordner[$i] = $file;
      
$i++;
  }
        
// Jetzt geben wir das aus, dafür müsste jede Datei gleich benannt sein, sonst muss da noch was anderes dazugehackt werden
}

foreach(
$ordner as $direcs ) {
  
$pfad $direcs."/content.xml";
  
// Der Pfad zu den verschiedenen Dateien liegt jetzt bei jedem Schleifendurchlauf in $pfad
}
  

?>


PSP3004 04.06.12 13:47

So habe jetzt mal deinen Code ausprobiert und ein wenig geändert. die var_dump$ hab ich rein getan um schritt weise zu schauen ob die Variablen richtig übergeben werden.
Jetzt hab ich halt das Problem das er mir es trotzdem nicht richtig ausgibt (siehe Bild im Spoiler)

PHP-Code:

<div id="post">
    <?php 
        error_reporting
(E_ALL); 
        
$direc opendir("./hd/"); 
                                        
        echo 
"opendir:<br>";
        
var_dump($direc);
        echo 
"<br><br>";
                                        
        
$i 0
        
$ordner = array(); 
        
$pfad = array();
        while( 
$file readdir($direc) != false
        { 
            
//echo "Filename: $file<br>";
                                        
                                        
            
if( is_dir($file) and $file != "." and $file != ".." 
            { 
                
$ordner[$i] = $file
                
$i++; 
            } 
        }
                                        
        echo 
"ordner:<br>";
        
var_dump($ordner);    
        echo 
"<br><br>";
                                        
        
// Jetzt geben wir das aus, dafür müsste jede Datei gleich benannt sein, sonst muss da noch was anderes dazugehackt werden 

        
$i 0;
        foreach(
$ordner as $direcs 
        { 
        
$pfad[$i] = $direcs."/content.xml"
        
$i++;
         
// Der Pfad zu den verschiedenen Dateien liegt jetzt bei jedem Schleifendurchlauf in $pfad 
        

                                        
        echo 
"pfad:<br>";
        
var_dump($pfad);
        echo 
"<br><br>";
    
?>
</div>


So gibt er mir das nun aus:

josum 08.06.12 19:26

Also... man weißt ja der Variable opendir und allem anderen ja quasi Funktionen zu, deshalb stehen da auch keine "richtigen" (sprich lesbaren) Werte drin.

Wo genau der Fehler liegt kann ich jetzt nicht sagen, aber du könntest mal versuchen die Datei in den den aktuellen Ordner zu packen und dann auch dementsprechend die erste Pfadangabe zu setzen, oder mal den Slash hinter "./hd/" wegmachen.... Sind aber alles nur esoterische Mutmaßungen da es mit dem hier aufgebauten setup eigentlich funzt..... oO

Viele Grüße
Josum

PSP3004 08.06.12 22:23

Zitat:

Zitat von josum (Beitrag 23585087)
du könntest mal versuchen die Datei in den den aktuellen Ordner zu packen

Meinst du damit das ich die Datei content.xml in den Ordner HD packe ohne Unterordner?

Zitat:

Zitat von josum (Beitrag 23585087)
oder mal den Slash hinter "./hd/" wegmachen

Hab ich auch schon versucht, hat aber leider nichts gebracht

Zitat:

Zitat von josum (Beitrag 23585087)
man weißt ja der Variable opendir und allem anderen ja quasi Funktionen zu, deshalb stehen da auch keine "richtigen" (sprich lesbaren) Werte drin

Aber er müsste ja irgendwas ausgeben


EDIT: Problem hab ich nun gelöst!
Danke für deine Hilfe :T


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.