Visualizzazione risultati 1 fino 12 di 12

Discussione: Codice php per creare un xml

  1. #1
    Guest

    Predefinito Codice php per creare un xml

    Ciao a tutti, nel mio sito utilizzo la galleria Zen Photo (la stessa installabile come applicazione tramite altervista, anche se io l'ho fatto da me). Vorrei creare del codice che, automaticamente, all'inserimento di un nuovo album, mi generi un file "xml" in una determinata cartella così formattato
    Codice:
    <?xml version="1.0" encoding="utf-8"?>
    <photos>
    	<photo desc="nomefoto1" url="indirizzo_assoluto_foto1.jpg" />
            <photo desc="nomefoto2" url="indirizzo_assoluto_foto2.jpg" />
            <photo desc="nomefoto3" url="indirizzo_assoluto_foto3.jpg" />
            ...
    </photos>
    Questo per poter utilizzare le stesse foto della galleria Zen in Polaroid Gallery

    Se avete bisogno di ulteriori informazioni vi prego di chiedere, e vi sarà dato

    Grazie a tutti quelli che vorranno aiutarmi.

  2. #2
    Guest

    Predefinito

    Premetto che non conosco Zen Photo.
    Comunque, devi modificare la pagina che viene richiamata quando premi il tasto che conferma l'inserimento del nuovo album.

    Per creare il file xml puoi utilizzare le normali funzioni che ti permettono di scrivere su un file. Lo dovrai trattare come un normalissimo file di testo.

    Ciao

  3. #3
    Guest

    Predefinito

    Il problema è che zenphoto automaticamente riconosce se vengono caricate nuove foto, non è mio compito dare il comando per la creazione di un nuovo album, a me basta caricare la cartella con le foto in /gallery/nuovacartellafoto e aprendo la index già è tutto pronto con le thumb eccetera. L'unica cosa che mi viene in mente è che lo script che controlla l'esistenza di nuove foto venga richiamato dalla index ogni volta che viene caricata, sbaglio?

  4. #4
    Guest

    Predefinito

    certo, sarà nella index o il qualche file incluso in essa...

  5. #5
    Guest

    Predefinito

    tutto sta nel trovare le stringhe giuste...

  6. #6
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    In generale non è così difficile creare un file XML (vero) con PHP... basta avere l'accortezza di inserire questa riga in cima al file:
    Codice PHP:
    <?php
    header
    ("Content-type: text/xml");
    ?>
    Poi il resto del file viene stampato esattamente come HTML, con o senza l'istruzione echo(): la differenza sarà, ovviamente, che il codice generato sarà XML e quindi potrà contenere anche tag completamente inventati. Unica eccezione: le istruzioni del prologo, che vanno stampate SOLO tramite un echo(), in quanto il marcatore finale ?> crea confusione all'interprete PHP.

    Statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  7. #7
    Guest

    Predefinito

    Grazie delle informazioni, purtroppo non so dove inserire il codice per la creazione dell'xml, non sono stato in grado di trovare lo script che cerca le nuove immagini. quindi se c'è qualcuno che ha esperienza con zenphoto, attendo sue risposte

  8. #8
    Guest

    Predefinito

    secondo me è in qualche file chiamato utility.php, function.php o qualcosa di simile...

    Ciao

  9. #9
    Guest

    Predefinito

    per adesso ho creato questo codice
    Codice PHP:
    <?php
    header
    ("Content-type: text/xml");
    echo
    "<?xml version='1.0' encoding='utf-8'?>";
    echo
    "<photos>";
    if (
    $handle = opendir('/membri/simoxz/sibgallery/albums/anconapub/')) {
    while (
    false != ($file = readdir($handle))) {
    echo
    " <photo desc='' url='http://simoxz.altervista.org/sibgallery/albums/anconapub/$file' />";
    }
    closedir($handle);
    }
    echo
    "</photos>";
    ?>
    che mi restituisce un xml
    Codice PHP:
    <photos>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/oyb6ce8n.jpg"/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/897cvbne.jpg"/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/wv89e7y.jpg"/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/8ncewew.jpg"/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/crcfgs.jpg"/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/."/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/u5cv7.jpg"/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/ut6v77.jpg"/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/.."/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/5wf4ww.jpg"/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/vecsctw3.jpg"/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/76vwn9.jpg"/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/8rbwn9w.jpg"/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/5y67uw8n9w.jpg"/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/yv7wnc87y.jpg"/>
    </
    photos>
    mi sapreste dire perchè ci sono questi due file di troppo
    Codice PHP:
    <photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/."/>
    <
    photo desc="" url="http://simoxz.altervista.org/sibgallery/albums/anconapub/.."/>

  10. #10
    Guest

    Predefinito

    quello che finisce coi due punti ti rimanda alla cartella superiore per esempio...
    Ti potrebbero essere utili se per esempio intedi fare una funzione ricorsiva che scandisca anche le sottocartelle..

  11. #11
    Guest

    Predefinito

    purtroppo non mi è utile dato che ogni galleria deve avere il suo xml, dovrei capire come riuscire a togliere quei due link di troppo.

    edit:

    ho risolto con un banalissimo if
    Codice PHP:
    <?php
    header
    ("Content-type: text/xml");
    echo
    "<?xml version='1.0' encoding='utf-8'?>";
    echo
    "<photos>";
    if (
    $handle = opendir('/membri/simoxz/sibgallery/albums/anconapub/')) {
    while (
    false !== ($file = readdir($handle))) {
    if (
    $file != '.' && $file != '..'){
    echo
    " <photo desc='$file' url='http://simoxz.altervista.org/sibgallery/albums/anconapub/$file' />";}
    }
    closedir($handle);
    }
    echo
    "</photos>";
    ?>
    Ultima modifica di simoxz : 12-04-2008 alle ore 17.36.42

  12. #12
    Guest

    Predefinito

    posto il codice completato e corretto (implementato in modo che aprendo la pagina getalbum.php?album=nomealbum si genera l'xml della galleria che mi interessa)
    Codice PHP:
    <?php
    $gallery
    = $_GET['album']; //assegna a $gallery il valore di entrata di 'album'
    header ("Content-type: text/xml"); //scrive che è un xml
    echo "<?xml version='1.0' encoding='utf-8'?>"; //xml version e encoding
    echo "<photos>";
    $path = "/membri/simoxz/sibgallery/albums/$gallery/";
    $dh = opendir($path);
    $i=1;
    while ((
    $file = readdir($dh)) !== false) {
    if(
    $file != "." && $file != "..") {
    echo
    "<photo desc='Foto $i' url='http://simoxz.altervista.org/sibgallery/albums/"; echo "$gallery"; echo "/$file' />";
    $i++;
    }
    }
    closedir($dh);
    echo
    "</photos>";
    ?>
    Sono apprezzati commenti / correzioni / ottimizzazioni.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •