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

Discussione: aprire un file remoto!

  1. #1

    aprire un file remoto!

    ciao a tutti volevo chiedervi se e' possibile aprire un file remoto in sola lettura, il file e' del tipo

    http://www.nomesito.it/pagina.php?id=22282 (ovvimente l'id cambia per ogni pagina)

    poi avrei la necessita' di prelevare delle informazioni precedute sempre da una stessa parola...cioe' mi spiego meglio: ho questo insieme di file remoti e con dei cicli (lettura dei vari file ) vorrei prelevare una determinata parola! e' possibile tutto cio'??

    ciao


  2. #2
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Se il file ha i permessi giusti si può aprire.

    Per quanto riguarda il fatto di prelevare la parola... in che senso? Se tu sai qual è la parola a che pro prenderla dal file?

  3. #3
    Originariamente inviato da VaLvOnAuTa
    Se il file ha i permessi giusti si può aprire.

    Per quanto riguarda il fatto di prelevare la parola... in che senso? Se tu sai qual è la parola a che pro prenderla dal file?
    si...io conosco la parola che precede quella che mi serve, ma il problema e che la parola che mi serve non e' unica...ne sono 20.000


  4. #4
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    quindi ti serve sapere la parola successiva a quella nota?
    Codice PHP:
    function FoundWord($testo) {
      
    $parole[] = explode(" ",$testo);
      
    $i 0;
      
    $found=false;
      while ((
    $i<=(count(parole)-1)) && (!$found))  {
        if (
    $parole[$i] == "parola_cercata") {
          
    $found true;
          
    $output = ($parole[$i+1]);
        }
        else {
          
    $i++;
        }
      }
     if (empty(
    $output)) { $output NULL; }
     return 
    $output;

    Probabilmente c'è un modo migliore colle regexp, però questo è il primo che m'è venuto in mente

  5. #5
    Originariamente inviato da VaLvOnAuTa
    quindi ti serve sapere la parola successiva a quella nota?
    Codice PHP:
    function FoundWord($testo) {
      
    $parole[] = explode(" ",$testo);
      
    $i 0;
      
    $found=false;
      while ((
    $i<=(count(parole)-1)) && (!$found))  {
        if (
    $parole[$i] == "parola_cercata") {
          
    $found true;
          
    $output = ($parole[$i+1]);
        }
        else {
          
    $i++;
        }
      }
     if (empty(
    $output)) { $output NULL; }
     return 
    $output;

    Probabilmente c'è un modo migliore colle regexp, però questo è il primo che m'è venuto in mente

    grazieeeeeee!!!!! :adhone:

  6. #6
    Quella funzione va bene se il sito in questione non ha molte parole...
    altrimenti fa BOOOM :-)

    Prova a guardare le funzioni preg, come ti ha detto !!!
    Marco Bianucci
    marco@phoenixweb.it
    Hosting php
    Programmazione & WebDesign

  7. #7
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    Originariamente inviato da phoenixweb
    Quella funzione va bene se il sito in questione non ha molte parole...
    altrimenti fa BOOOM :-)

    Prova a guardare le funzioni preg, come ti ha detto !!!
    ehm... a me non sembra... se per boom intendi elevato consumo di memoria (dato che carichi tutto il file in memoria) sappi che per utilizzare le regexp devi comunque caricarlo tutto.

    Forse una soluzione più efficiente sarebbe leggere una parola alla volta e procedere all'interno del file parola per parola... in questo modo si rende costante il consumo di memoria

  8. #8
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Originariamente inviato da kuarl
    Forse una soluzione più efficiente sarebbe leggere una parola alla volta e procedere all'interno del file parola per parola... in questo modo si rende costante il consumo di memoria
    Oppure leggere il file riga per riga, esplodere solo il contenuto della riga e ricercare la parola nell'array ottenuto, così si risparmia un bel pò di memoria.

  9. #9
    Originariamente inviato da VaLvOnAuTa
    Oppure leggere il file riga per riga, esplodere solo il contenuto della riga e ricercare la parola nell'array ottenuto, così si risparmia un bel pò di memoria.
    mi sono un attimino perso!! mi indicate quale funzioni in alternativa dovrei utilizzare??


  10. #10
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Quella che avevo scritto andava bene, solo che poi mi hanno fatto giustamente notare che per eseguirla occorreva un inutile spreco di memoria, quando con qualche accortenza si può diminuire (e di molto) l'utilizzo della memoria.
    Modifica la funzione in questo modo
    Codice PHP:
    function FoundWord($file) {
      
    $file_handle fopen($file,'r'); //apre il file
      
    $found=false;
      while ( (!
    feof($file)) && (!$found) ) { //scorre il file fino alla fine o fino a che non trova la parola
        
    $parole explode(" ",fgets($file_handle4096); //esplode in un array una singola riga del file
        
    $i 0;
        while ((
    $i<=(count(parole)-1)) && (!$found))  { //cerca la parola
          
    if ($parole[$i] == "parola_cercata") {
            
    $found true;
            
    $output = ($parole[$i+1]);
          }
          else {
            
    $i++;
          }
        }
      }    
      if (empty(
    $output)) { $output NULL; }
     return 
    $output;


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.