Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    uplolad articoli in db mysql

    Ciao a tutti,
    devo inserire in un db un'enorme quantità di articoli, la mole è talmente grande che non potrei nemmeno pensare di effettuare dei copia e incolla.

    Avevo pensato di usare l' upload, anche se devo cmq mettermi ad uploadare file per file, ma il problema più grosso sarebbe poi la ricerca.
    Come effettuerei la ricerca sui file?

    Sicuramente non potrei cercare parole all'interno del contenuto. Dovrei limitarmi al solo titolo...

    Non sò!
    Cosa ne pensate a riguardo, credete anche voi che sotto forma di files siano poco gestibili ?

    Vi viene in mente qualche altro metodo di inserimento?

    Grazie a tutti...


  2. #2

  3. #3
    C'è qualcuno che crede che il 3d meriti risposta?


  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Allora, ti sei già risposto/a: se li vuoi in database, i file non centrano niente. Sotto che forma hai gli articoli in questo momento? Non è che hai fornito molte informazioni.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Originariamente inviato da Andrea1979
    Allora, ti sei già risposto/a: se li vuoi in database, i file non centrano niente. Sotto che forma hai gli articoli in questo momento? Non è che hai fornito molte informazioni.
    Hanno sia est. txt che doc, devo solo scegliere quale usare delle due.

    Pensavo che salvarli in un db fosse la soluzione migliore, potresti consigliarmi qualche altro metodo?

    Cmq grazie per avermi risposto...

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Allora, non sono un grande esperto delle funzionalità di MySQL, però a occhio direi che in caso di file doc difficilmente potresti fare una ricerca comoda all'interno di un file salvato come BLOB. Lascio il campo agli esperti... però una cosa potresti farla: vedi se riesci a farti sviluppare una macro o un applicazione .net per inserire il contenuto dei file come testo, in modo automatico, all'interno del database...

    Per i file txt invece il salvataggio come testo sarebbe più agevole (via fread())
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Originariamente inviato da Andrea1979
    vedi se riesci a farti sviluppare una macro o un applicazione .net per inserire il contenuto dei file come testo, in modo automatico, all'interno del database...

    Per i file txt invece il salvataggio come testo sarebbe più agevole (via fread())
    potresti essere più preciso? avevo intenzione di usare i txt, ma in cosa consistono esattamente queste applicazioni .net per inserimenti automatici. Come si svolge l'inserimento?

    Per i file txt, non dovrei cmq inserirli uno per uno?
    Avevo pensato di creare il solito modulo (titolo/testo/submit), ma dovrei inserirli sempre uno alla volta?
    Ti riferisci a questo anche tu, o dici di usare fread() per l'inserimento e se si come?

    Grazie in anticipo...

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Allora, ho detto . NET perché è la piattaforma microsoft (e tu hai anche documenti word), per cui mi aspetterei che esistano componenti ad-hoc per la lettura del contenuto di file di applicazioni microsoft.

    Per quanto riguarda i file di testo invece... perché inserimento manuale!? Nulla ti vieta di farti uno script che ti inserisca nel database i file che hai già :

    per esempio

    codice:
    $handle = opendir("cartella_txt");
    
    while (false !== ($file=readdir($handle))) {
      if ($file != "." && $file != "..") {
        $titolo = $file;
        $contenuto = fread(fopen($file, "rb"), filesize($file));
        $query = "INSERT into tabella_articoli (titolo, contenuto) VALUES ('$titolo', '$contenuto')";
        $result = mysql_query($query, $db);
      }
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  9. #9
    Originariamente inviato da Andrea1979
    Allora, ho detto . NET perché è la piattaforma microsoft (e tu hai anche documenti word), per cui mi aspetterei che esistano componenti ad-hoc per la lettura del contenuto di file di applicazioni microsoft.

    Per quanto riguarda i file di testo invece... perché inserimento manuale!? Nulla ti vieta di farti uno script che ti inserisca nel database i file che hai già :

    per esempio

    codice:
    $handle = opendir("cartella_txt");
    
    while (false !== ($file=readdir($handle))) {
      if ($file != "." && $file != "..") {
        $titolo = $file;
        $contenuto = fread(fopen($file, "rb"), filesize($file));
        $query = "INSERT into tabella_articoli (titolo, contenuto) VALUES ('$titolo', '$contenuto')";
        $result = mysql_query($query, $db);
      }
    }
    GRAZIE Andrea,
    era prorio quello che cercavo....
    Un solo problema: non inserisce il contenuto. A proposito, pensi che per questo sia più indicato un campo longtext o blob?

    if ($file != "." && $file != "..") {
    indica dove terminare la lettura?

    Ps: io lavoro su un mac G5.
    Ho anche il formato doc, perchè ho acquistato degli articoli che mi sono arrivati in entrambi i formati (doc & txt)

    Grazie ancora....

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Mah... propenderei per un testo più che per un blob... i blob non sono codificati in hex? Nel qual caso, le ricerche all'interno dei documenti non sarebbero proprio agevolissime.

    allora, $file != "." e $file != ".." semplicemente verifica che il file non sia uno dei due file "speciali" presenti in ogni cartella, "." e ".." appunto (hai presente quando in dos si faceva,, bei tempi, cd.. per andare alla directory precedente?)

    Per quanto riguarda il contenuto degli articoli: l'assunzione è che tu abbia un database, che $db sia effettivamente la risorsa alla connessione:

    codice:
    $db = mysql_connect($db_host, $db_user, $db_password);  mysql_select_db($db_name, $db);
    e che la connessione sia effettivamente avvenuta.
    Suppongo anche che nel database sia presente una tabella chiamata "tabella_articoli" e che tale tabella abbia almeno due campi:
    - titolo
    - contenuto.

    Poi magari, troppa grazia S. Antonio, ed ho abbreviato un po' troppo speditamente, per cui, riscrivo la routine aggiungendo l'handle al file in maniera più esplicita:

    codice:
    $handle = opendir("cartella_txt");
    
    while (false !== ($file=readdir($handle))) {
      if ($file != "." && $file != "..") {
        $titolo = $file;
        $file_handle = fopen($file, "rb");
        $contenuto = fread($file_handle, filesize($file));
        $query = "INSERT into tabella_articoli (titolo, contenuto) VALUES ('$titolo', '$contenuto')";
        $result = mysql_query($query, $db);
      }
    }
    Prova un po' a vedere che eventuali errori ottieni.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.