Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    91

    Devo fare un file CSV usando PHP.

    Buongiorno sviluppatori,

    la situazione è tragica, sono un informatico ma mai lavorato con PHP, non so neanche come testare il codice.

    Devo fare un CSV, ci ho lavorato anni fa in un progetto dove veniva caricato con un SQL*loader e so bene a cosa serve un CSV.

    Ora, devo fare un procedura PHP, scadenza questa settimana, che crei un CSV che si valorizzi con dei dati, so già i nomi delle colonne. Per ora il file deve essere salvato in locale. Devo mandare la procedura ed il file CSV di test che essa crea.

    Ho letto una marea di documentazione ma non ce la faccio con la SLA.

    Potete darmi delle direttive su come fare questa procedura, ed eventualmente spiegarmi come testare il codice? Ho installato Ecplipse IDE ma da errori, non del codice, ma delle impostazioni. Sono due giorni che ci lavoro per una procedura che con Python richiederebbe 10 minuti.

    Grazie.

  2. #2
    Da qui impari a connetteri al DB:


    https://phpdelusions.net/pdo


    Da qui impari a scrivere dati in un CSV:


    https://www.php.net/manual/en/function.fputcsv.php

    E visto che si tratta di lavoro, se proprio proprio non ci riesci:

    https://addlance.com/

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    91
    Non è per lavoro, altrimenti non starei facendo PHP.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    91
    Ho fatto questo script per adesso

    codice:
    <?php
    
    $headers = array("code","type","description","amount","expiry_date","enable_free_shipping","minimum_amount","maximum_amount","individual_use",
    "exclude_sale_items","products","exclude_products","product_categories","exclude_product_categories","customer_emails","usage_limit",
    "limit_usage_to_x_items","usage_limit_per_user","usage_count");
    
    $data = $array (
        array(
            "code" => "spring10",
            "type" => "fixed_cart",
            "description" => "$10 off when you buy clothing; order over $25",
            "amount" => "10",
            "expiry_date" => " ",
            "enable_free_shipping" => " ",
            "minimum_amount" => "25",
            "maximum_amount" => " ",
            "individual_use" => "yes",
            "exclude_sale_items" => "yes",
            "products" => " ",
            "exclude_products" => " ",
            "product_categories" => "clothing",
            "exclude_product_categories" => " ",
            "customer_emails" => " ",
            "usage_limit" => "500",
            "limit_usage_to_x_items" => " ",
            "usage_limit_per_user" => "1",
            "usage_count" => " ",
        ),
        );
    $fh = fopen ("test.csv","w");
    
    fputcsv ($fh, $headers);
    
    foreach ($data as $fields) {
        fputcsv($fh, $fields);
    }
    
    fclose($fh);
    
    ?>
    Ma se metto i delimitatori

    codice:
        fputcsv(
        resource $handle,
        array $fields,
        string $separator = ",",
        string $enclosure = '"',
        string $escape_char = "\\"
    ): int|false
    Me li segna tutti come errori.

  5. #5
    Me li segna tutti come errori.
    Definisci "me li segna tutti come errori".

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    91
    1.jpg

    Errori di sintassi, non vuole le virgole finali.
    Ultima modifica di JKley; 15-07-2021 a 08:57

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    91
    Poi ricevo sempre l'errore da ecplipse "unable to find phpunit phar. check phpunit configuration eclipse" e su internet non trovo soluzione, ho PHP installato su C:

    Come faccio a fare "run" del codice e vedere se mi crea il file.

  8. #8
    Dura programmare in un linguaggio se non si conosce la sintassi:

    codice:
    fputcsv($fh, $fields, ",", "", "\\");
    Per eseguire uno script php:

    codice:
    php file.php

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    91
    Come faccio a lanciare quel file in PHP, ho letto devo usare il CMD. Non è possibile da Ecplise IDE?

    Per poi dire al codice la cartella dove il file deve essere depositato?

    Suppongo sia,

    codice:
    $f = fopen('C:\testPHP\test.csv', 'a');
    Il delimitatore del CSV deve essere ";" quindi suppongo diventi

    codice:
    fputcsv($fh, $fields, ";", "", "\\");
    Ho 2 warning,


    Variable '$array' is undefined

    Dal codice scritto sopra la riga 7
    codice:
    $data = $array (
    Variable '$fields' is undefined

    Dal codice scritto sopra la riga 33
    codice:
    fputcsv($fh, $fields, ";", "", "\\");
    Dove le devo definire, ed è necessario definirle?

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    91
    Non riesco ne a lanciarlo dal CMD o dal localhost, ci sono quasi.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.