Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Discussione: creare file xml

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    88

    creare file xml

    Ciao a tutti!
    Premettendo che sono una mezza capra in php, ma l'evenienza mi ha portato a utilizzarlo in modo urgente.

    Espongo il mio problema.

    Da uno script javascript invio ad uno script php una stringa del tipo:

    prova.php?stringa=<utente><nome>tizio</nome><cognome>caio</cognome></utente>

    ...........in formato xml........

    vorrei sapere come uno script php prende questa stringa, crea e salva un file xml????

    grazie mille....è urgentissimo!!!!!

  2. #2
    Ciao,
    dai uno sguardo alla funzione fopen.
    Oppure puoi evitare di creare il file con la funzione (ottenendo lo stesso risultato!) header:
    header('Content-type: text/xml);

  3. #3
    Alla tua domanda manca probabilmente qualche cosa, perché la risposta letterale a quello che chiedi è:

    Codice PHP:
    $content = '<?xml version="1.0" encoding="utf-8"?>' . "\n" . utf8_encode($_GET['stringa']);
    file_put_content('file.xml', $content);

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    88
    grazie ragazzi.....è quello che cercavo!!!

    una curiosità...in

    file_put_content('file.xml', $content);

    posso scrivere ad esempio..

    file_put_content('prima_dir/seconda_dir/file.xml', $content); ......cioè scrivere una directory???


    grazie

  5. #5
    Originariamente inviato da gentilfa
    posso scrivere ad esempio..

    file_put_content('prima_dir/seconda_dir/file.xml', $content); ......cioè scrivere una directory???
    Of course yes, ma:

    • La directory "prima_dir" deve già esistere
    • La directory "prima_dir/seconda_dir" deve già esistere
    • I privilegi della directory "prima_dir/seconda_dir" devono consentire la scrittura all'utente del webserver. Dato che se si è in hosting è una menata conoscere l'utente del webserver, solitamente si impostano i permessi a queste directory a 0777 ottale, cioè in lettura/scrittura/esecuzione per tutti.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    88
    grazie........ti faccio sapere se riesco nell'intento di affacciarmi al php.........abituato al java...ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    88
    ho inviato i dati al file php con questo javascript

    function write_xml(stringa){

    var url = "/cgi-bin/grb-wapi/php/xmlcreate.php";
    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
    http_request.overrideMimeType('text/xml');
    // Vedi note sotto
    }
    } else if (window.ActiveXObject) { // IE
    try {
    http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
    }
    }

    if (!http_request) {
    alert('Giving up Non riesco a creare una istanza XMLHTTP');
    return false;
    }


    http_request.open('POST', url, true);
    http_request.setRequestHeader("content-type", "application/x-www-form-urlencoded");
    http_request.send("stringa="+stringa);

    }



    con xmlcreate.php


    <?php

    $content = '<?xml version="1.0" encoding="utf-8"?>' . "\n" . utf8_encode($_GET['stringa']);
    file_put_content('file.xml', $content);

    ?>



    però mi da errore 500.......come faccio????

    grazie

  8. #8
    Giochi con l'ajax... preparati a bagni di sangue.

    Errore 500 (HTTP, presumo) non vuol dir niente: significa che il programma lato server (=PHP) ha fatto danni a palla. Così a occhio direi che i casi sono due: il primo (semplice ed indolore) è il nome della funzione che è sicuramente sbagliato: usa file_put_contents() con la s finale (mia canna).

    Fammi sapere se così va.

  9. #9
    PS: aggiungo che fai la richiesta AJAX usando il metodo POST e leggi da server col metodo GET! Soluzione: o usi http_request.open('get', url, true) nel javascript oppure usi $_POST['stringa'] nel php.

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    88
    ora funziona tutto....
    una problema è la "s" finale della funzione che mi hai corretto e il POST. Un altro errore era il mio che , dato che sto lavorando su una macchina remota, per le directory bisogna fare i salti mortali per capirle

    ti ringrazio tantissimo

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.