Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    170

    Caricare dati da file su server [-help-soluzione avanzata ]

    Buongiorno a Tutti
    Avrei un problema che blocca un mio progetto, in quanto parte fondamentale di questo...

    Ecco qui...

    UNA PAGINA WEB (php) dove un admin puo' caricare sul server un file
    presente sul suo computer.(txt)

    IL FILE TXT contiene dei dati che dovranno essere importati nel DB(mysql)

    Ho provato con load data infile ma niente da fare ... non so che percorso dare al load data...

    Il file risiede sul server .. ma come lo pesco con il DB???

    Con l'opzione LOCAL se il file risiede sul client sembra funzionare...

    HELP penso che possa essere un argomento interessante anche per altri.
    Ariok

  2. #2
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    ma non è più semplice inserire il testo tramite textarea?
    Errare humanum est, perseverare ovest

  3. #3
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    http://dev.mysql.com/doc/mysql/en/load-data.html
    If the LOCAL keyword is specified, it is interpreted with respect to the client end of the connection:
    * If LOCAL is specified, the file is read by the client program on the client host and sent to the server. The file can be given as a full pathname to specify its exact location. If given as a relative pathname, the name is interpreted relative to the directory in which the client program was started.
    * If LOCAL is not specified, the file must be located on the server host and is read directly by the server.

    [...]

    When locating files on the server host, the server uses the following rules:

    * If an absolute pathname is given, the server uses the pathname as is.
    * If a relative pathname with one or more leading components is given, the server searches for the file relative to the server's data directory.
    * If a filename with no leading components is given, the server looks for the file in the database directory of the default database.
    Nel tuo caso client e server (tranne particolari configurazioni del server molto improbabili) sono la stessa macchina. Credo che basti passargli il path assoluto del file caricato. Bisognerebbe vedere se il server mysql necessità di particolari permessi di accesso a quel file.

    codice:
    $sql = "LOAD DATA INFILE '" . $_FILES['nome_del_campo_del_form']['tmp_name'] . "' INTO tabella";
    mysql_query($sql);
    Se non dovesse funzionare prova con la stessa query con l'aggiunta della parola chiave LOCAL
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    170
    il problema sta nel fatto ceh il client .. e' una macchina .. mentre il server e' un'altra macchina...

    o meglio... il programma .php risiede su una macchina di www.spaziogratis.com .. e il client sarebbe un utente ceh si collega alla pagina .php ... quindi esterna al client.... io vorrei far si ceh
    1)il client possa : uploadare il file in uno spazio del server...
    2)il programma .php carichi il file txt (ora presente sul server) e tramite load data .. importi i dati nel db...

    il problema principale sta nel fatto ceh non conosco il percorso vero per raggiungere il server...
    se fosse nel client ok c:\\qualcosa...ma il server non so come raggiugnerlo... e' possibile usare coem path del load data un indirizzo URL????
    Ariok

  5. #5
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    [supersaibal]Originariamente inviato da ariok
    il problema sta nel fatto ceh il client .. e' una macchina .. mentre il server e' un'altra macchina...

    o meglio... il programma .php risiede su una macchina di www.spaziogratis.com .. e il client sarebbe un utente ceh si collega alla pagina .php ... quindi esterna al client.... io vorrei far si ceh
    1)il client possa : uploadare il file in uno spazio del server...
    2)il programma .php carichi il file txt (ora presente sul server) e tramite load data .. importi i dati nel db...

    il problema principale sta nel fatto ceh non conosco il percorso vero per raggiungere il server...
    se fosse nel client ok c:\\qualcosa...ma il server non so come raggiugnerlo... e' possibile usare coem path del load data un indirizzo URL???? [/supersaibal]
    percorso per raggiungere il server?

    se chi ti fornisce lo spazio web ti ha attivato anche mysql
    dovrebbe anche averti fornito i dati per la connessione:

    - nome host
    - nome database
    - username
    - password

    se non te li hanno forniti chiediglieli....

    in locale potresti fare così:
    Codice PHP:
    $db_host"localhost";
    $db_login"root";
    $db_pass"";
    $database"tuo_db";
    // cambiare i dati sopra con quelli  del host

    $connessione_db mysql_connect("$db_host",  "$db_login",  "$db_pass"
    or die ( 
    "Errore nella connessione al database.

    Non riesco a connettermi al server [b]
    $db_host[/b]");

    // print ( "Connessione avvenuta correttamente al DBServer [b]$db_host[/b]!"); 

    if ( $connessione_db == FALSE )
       die ( 
    "Errore nella connessione al database." );

    mysql_select_db($database$connessione_db)
       or die ( 
    "Impossibile aprire $database: ".mysql_error() ); 
    Errare humanum est, perseverare ovest

  6. #6
    Utente di HTML.it L'avatar di pappolo
    Registrato dal
    Mar 2003
    Messaggi
    251
    Scusa ma i file sul server dove li uppi?

    Basterebbe dargli i percorsi assoluti piuttosto che l'url o no?

    In questo modo puoi raggiungere il file txt che l'utente ha uploadato in modo da manipolarlo come ti pare

  7. #7
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    scusa ma non mi è proprio chiaro quello che vuoi fare.

    se il problema è l'upload prova a vedere questo

    http://freephp.html.it/articoli/view_articolo.asp?id=66
    Errare humanum est, perseverare ovest

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.