Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    lettura file con tutti i caratteri

    Ciao a tutti,
    devo creare una funzione che legge un file di testo che contiene tutti caratteri della tastiera (inclusi <\ " '> ecc.)

    ho fatto così:
    codice:
      class LeggiFile2
      {
          var $arr;
          
          function LeggiFile2($pathNomeFile)
          {
               $this->arr = file($pathNomeFile);
          }
    
          public function getTesto() {
              $testo = "";
              for($i = 0; $i< count($this->arr); $i++)
              {
                  $testo .= $this->arr[$i];
              }
              return $testo;
          }
          
          
      }
    ma mi spezza il testo quando incontra i caratteri indicati sopra

    Qualcuno sa dirmi come risolvere?
    Guidino

  2. #2
    Perché tutte quelle righe di codice quando potresti usare file_get_contents() ?

    Comunque, è molto strano ciò che ti accade: da quel che vedo, usi file() per creare un array con tanti elementi quante sono le righe del file, poi le leggi una volta alla volta e concateni semplicemente.

    Sicuro che si blocca in concomitanza di quei caratteri e non dei fine riga?

    Alberto
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Ciao grazie della risposta,
    il problema non è come leggo dal file, perchè ottengo lo stesso identico risultato anche con la funzione file_get_contents()

    il problema sono i caratteri che sono nel file:
    ho visto che sono i caratteri < e > a creare problemi

    dopo aver letto il file, se al posto di < e > sostituisco i rispettivi &lt; &gt; vedo tutto perfettamente.

    però prima di fare echo del testo letto io ho bisogno di avere i caratteri < e > originali
    insomma vorrei vedere a video esattamente quello che leggo

    Puoi aiutarmi?
    Guidino

  4. #4
    Originariamente inviato da guidino
    Ciao grazie della risposta,
    il problema non è come leggo dal file, perchè ottengo lo stesso identico risultato anche con la funzione file_get_contents()

    il problema sono i caratteri che sono nel file:
    ho visto che sono i caratteri < e > a creare problemi

    dopo aver letto il file, se al posto di < e > sostituisco i rispettivi &lt; &gt; vedo tutto perfettamente.

    però prima di fare echo del testo letto io ho bisogno di avere i caratteri < e > originali
    insomma vorrei vedere a video esattamente quello che leggo

    Puoi aiutarmi?
    Ma stai leggendo da una pagina web?
    Non è che non li vedi perché "<" e ">" si mescolano con i tag HTML e quindi il codice salta?
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    si
    ma niente di illegale sto solo cercando di attivare una forma di protezione
    Guidino

  6. #6
    Originariamente inviato da guidino
    si
    ma niente di illegale sto solo cercando di attivare una forma di protezione
    Intendevo, stai leggendo il contenuto del file e lo stai stampando a video in una pagina web?
    Quei caratteri < e > possono andare in conflitto con i tag html della tua pagina.
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    il testo lo leggo bene.
    dopo aver letto il file faccio

    $testo = str_replace("<", "&lt;",esto);
    $testo = str_replace(">", "&gt;", $testo);

    con procedure di debug (echo) a video vedo il codice corretto.

    ora però vorrei inserire il testo nei tag
    <script></script>

    come indicato nel post
    http://www.hwupgrade.it/forum/showthread.php?t=1574690

    e questo codice non funziona
    <script type="text/javascript" src="http://www.dominio2.it/getscript.php?name=nomescript.js"></script>

    perchè la pagina la visualizza come se mancasse nomescript.js

    il codice di getscript.php è (non includo la classe Leggifile per brevità)

    Codice PHP:

    $ref
    =$_SERVER['HTTP_REFERER'];
    echo 
    $ref "
    "
    ;
    if(
    $ref=="http://dominio1.it/pagina.php" and isset($_GET['name']))
    {
        
    $js $_GET['name'];
        
    $f = new LeggiFile($js);
        echo 
    $f->getTesto();
    }
    else 
    {
         echo 
    "Error";
         
         
    // $js = $_GET['name'];
         // $f = new LeggiFile($js);
         // echo $f->getTesto() ;

    getscript.php funziona. ho provato a farlo entra nell'else e vedo lo script js a video (ma io lo voglio mettere nei tag <script>)

    invece questo codice non funziona
    <script type="text/javascript" src="http://www.dominio2.it/getscript.php?name=nomescript.js"></script>

    a differenza di quanto dice il post http://www.hwupgrade.it/forum/showthread.php?t=1574690

    Sai dirmi qualcosa?

    (in ogni caso però se visualizzo il sorgente pagina e clicco sul link
    <script type="text/javascript" src="http://www.dominio2.it/getscript.php?name=nomescript.js"></script>
    mi fa vedere il codice dello script ma questo spero di aggiustarlo in qualche modo con la variabile $_SERVER['HTTP_REFERER']

    Secondo te è una perdita di tempo oppure il post
    http://www.hwupgrade.it/forum/showthread.php?t=1574690
    ha delle basi serie?

    grazie e scusa per la lungaggine
    Guidino

  8. #8
    Non ha senso utilizzare il referer, è fornito dal client e quindi manipolabile.

    Tempo fa utilizzavo un approccio per lo stesso scopo con le sessioni: fornivo il file javascript prova.js.php via php per mezzo dell'opportuno header(), controllando che una variabile $_SESSION['load'] fosse stata settata precedentemente (nella pagina html chiamante).

    La pagina html (.php) settava la variabile $_SESSION['load'] = true, richiamava il file js di prima e poi desettava la variabile di sessione.

    Ovviamente anche questo sistema non è il massimo, ma migliore del referer.
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie, mi sembra più consistente usare la sessione.

    ma perchè non mi funziona:

    <script type="text/javascript" src="http://www.dominio2.it/getscript.php?name=nomescript.js"></script>

    si fa così?
    Guidino

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    dimenticavo,
    mi puoi dire come

    "fornivi il file javascript prova.js.php via php per mezzo dell'opportuno header()"


    Grazie
    Guidino

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.