Visualizzazione risultati 1 fino 4 di 4
Like Tree1Likes
  • 1 Post By dreadnaut

Discussione: Codice PHP crea file, ma non scrive?

  1. #1
    Data registrazione
    07-12-2012
    Messaggi
    244

    Predefinito Codice PHP crea file, ma non scrive?

    Ciao a tutti,
    sto creando un'API python raggiungibile da PHP (visto che su AV non e' possibile usare python ancora).
    Stavo iniziando a testare il tutto, passo per passo, ma mi son bloccato prima ancora del test dell'API:

    Il seguente codice crea il file richiesto, ma non scrive nulla sopra. E' sbagliat il codice o ci sono dei blocchi di AV?

    Codice PHP:
    $post = [
    'username' => 'user1',
    'password' => 'passuser1',
    'gender' => 1,
    ];

    $myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
    fwrite($myfile, $post);
    fclose($myfile);
    Grazie mille!
    "Si tratta di capire e comprendere il mondo."
    -P.Higgs

    https://fisica-all.it

  2. #2
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,037

    Predefinito

    Salve,
    provi in questo modo:
    Codice PHP:
    <?php
    $nome
    = $_POST['username' => 'user1'];
    $pass = $_POST['word' => 'passuser1'];
    $nder = $_POST['nder' => 1];

    $myfile = fopen("newfile.txt", "a") or die("Unable to open file!");
    fwrite($myfile, $nome." ".$pass." ".$nder);
    fclose($myfile);
    ?>
    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 05-09-2020 alle ore 17.10.55

  3. #3
    Data registrazione
    07-12-2012
    Messaggi
    244

    Predefinito

    la variabile $post era solo per ricordarmi che quei dati poi verranno presi da li', non esistono quelle chiavi nel $_POST
    Il $_POST dovrebbe contenere solo una stringa, ma se provo a stamparla nel file, risulta vuota..

    Ho capito il problema: provavo a fare la stampa di tutta la variabile ($_POST), invece a quanto pare devo specificare la chiave..
    Grazie dell'aiuto :D
    "Si tratta di capire e comprendere il mondo."
    -P.Higgs

    https://fisica-all.it

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Se stai seguendo dei tutorial, occhio alle date. fopen/fwrite/fclose è l'antico modo di scrivere sui file, ma potresti usare una singola chiamata a file_put_contents().

    Come hai scoperto, scrivere un array in un file non funziona. Strutture complesse vanno serializzate, convertitite in stringhe con uno specifico formato. Python serializza in automatico quasi tutte le sue strutture. PHP ti da serialize e unserialize, ma se vuoi usare formati più comuni puoi usare json_encode.

    Codice PHP:
    file_put_contents("dati.json", json_encode($_POST));

    # ...

    $dati = json_decode(file_get_contents("dati.json"));
    Ultima modifica di dreadnaut : 05-09-2020 alle ore 19.41.09
    Formulariofisica likes this.

Regole di scrittura

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