Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    fwrite() non scrive bene sul file

    Salve ragazzi ho problemi con fwrite(), il file viene creato e riempito ma non mi stampa come voglio io infatti non accetta new line "\n" e nel file fà un quadratino nero invece di andare daccapo, la function è molto semplice ed è la seguente:







    Codice PHP:
    //function chiamante
    <?
    include("config.PHP");
    include(
    "selezione.PHP");
    include(
    "listafilm.php");
         
    $query=mysql_query("SELECT id, titolo, genere FROM film  order by titolo")OR DIE("non riesco a selezionare");
         if(
    crealista($query)){
               echo
    "lista creata";
               }
               else{
               echo
    "lista non creata";
               }
               
    ?>





    //function che stampa su file ha in input un oggetto
    <?
    function crealista($query){
      
    $filename="c:\listafilm.log";
    $handle=fopen($filename,"w+");
        if(
    $handle){
            
    $intestazione="Codice     Titolo     Genere";
            if (
    fwrite($handle$intestazione) ===FALSE) {
               echo 
    "Non si riesce a scrivere nel file ($filename)";
               
    fclose($handle);
               return 
    false;
           }

           while(
    $row=mysql_fetch_array($query)){
             
    $riga="\n".$row["id"]."     ".$row["titolo"]."     ".$row["genere"]."\n";
                 
    //echo "Sto Stampando la riga".$riga;
                 
    if (fwrite($handle$riga) ===FALSE) {
                    echo 
    "Non si riesce a scrivere la riga file2 ($filename)";
                         return 
    false;
                    }




          }
           }else{
           return 
    false;
           }

    return 
    true;


    ?>
    vi ringrazio anti cipatamente
    Roberto Dungino

  2. #2
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    Se apri il file col blocco notes di windows, la colpa è sua

    Il notepad non riconosce il ritorno a capo unix (il carattere \n appunto), per cui lo devi sostituire con \r\n
    Con wordpad (e con tutti gli altri editor del mondo) il problema non si pone
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  3. #3
    grazie funziona!
    Roberto Dungino

  4. #4
    Sto usando fpdf, la classe fpdf.php va messa da qualche parte? Si deve creare una nuova dll?
    Roberto Dungino

  5. #5
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    Originariamente inviato da dungino
    Sto usando fpdf, la classe fpdf.php va messa da qualche parte? Si deve creare una nuova dll?
    eh???
    fpdf.php lo devi includere normalmente

    ke sta storia dei dll??? :master: :master: :master:

  6. #6
    Il file fpdf.php l'ho messo nella cartella dove eseguo il mio script:

    questi sono i file incriminati:

    I primi 2 funzionano e sono stati illustrati precedentemente:
    Questi sono gli altri 2 che servono per creare il file in PDF:
    Il primo è PDF.pdf
    Codice PHP:
    <?
    class PDF extends FPDF
    {
    //Load data
    function LoadData($file)
    {
        
    //Read file lines
        
    $lines=file($file);
        
    $data=array();
        foreach(
    $lines as $line)
            
    $data[]=explode('\n',chop($line));
        return 
    $data;
    }

    //Simple table
    function BasicTable($header,$data)
    {
        
    //Header
        
    foreach($header as $col)
            
    $this->Cell(40,7,$col,1);
        
    $this->Ln();
        
    //Data
        
    foreach($data as $row)
        {
            foreach(
    $row as $col)
                
    $this->Cell(40,6,$col,1);
            
    $this->Ln();
        }
    }

    //Better table
    function ImprovedTable($header,$data)
    {
        
    //Column widths
        
    $w=array(40,35,40,45);
        
    //Header
        
    for($i=0;$i<count($header);$i++)
            
    $this->Cell($w[$i],7,$header[$i],1,0,'C');
        
    $this->Ln();
        
    //Data
        
    foreach($data as $row)
        {
            
    $this->Cell($w[0],6,$row[0],'LR');
            
    $this->Cell($w[1],6,$row[1],'LR');
            
    $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R');
            
    $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R');
            
    $this->Ln();
        }
        
    //Closure line
        
    $this->Cell(array_sum($w),0,'','T');
    }

    //Colored table
    function FancyTable($header,$data)
    {
        
    //Colors, line width and bold font
        
    $this->SetFillColor(255,0,0);
        
    $this->SetTextColor(255);
        
    $this->SetDrawColor(128,0,0);
        
    $this->SetLineWidth(.3);
        
    $this->SetFont('','B');
        
    //Header
        
    $w=array(40,35,40,45);
        for(
    $i=0;$i<count($header);$i++)
            
    $this->Cell($w[$i],7,$header[$i],1,0,'C',1);
        
    $this->Ln();
        
    //Color and font restoration
        
    $this->SetFillColor(224,235,255);
        
    $this->SetTextColor(0);
        
    $this->SetFont('');
        
    //Data
        
    $fill=0;
        foreach(
    $data as $row)
        {
            
    $this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
            
    $this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
            
    $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);
            
    $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);
            
    $this->Ln();
            
    $fill=!$fill;
        }
        
    $this->Cell(array_sum($w),0,'','T');
    }


    }


    ?>
    Il secondo è stampapdf.php(praticamente ho hatto un copia de incolla sul tutorial del sito fpdf riguardante la costruzione di una tabella)
    Codice PHP:
    <?
    require('fpdf.php');
    define('FPDF_FONTPATH','c:\programmi\easyphp1-8\www\font\');

    require('
    PDF.php');

    $pdf=new PDF();
    //Column titles
    $header=array('
    Codice','Titolo','Genere','Durata(minuti)');
    //Data loading
    $data=$pdf->LoadData('
    c:\listafilm.txt');
    $pdf->SetFont('
    Arial','',14);
    $pdf->AddPage();
    $pdf->BasicTable($header,$data);
    $pdf->AddPage();
    $pdf->ImprovedTable($header,$data);
    $pdf->AddPage();
    $pdf->FancyTable($header,$data);
    $pdf->Output();



    ?>
    L'errore è il seguente:

    Parse error: parse error in c:\programmi\easyphp1-8\www\database_film\stampapdf.php on line 5
    Roberto Dungino

  7. #7
    aveta capito il problema???
    Roberto Dungino

  8. #8
    up!
    Roberto Dungino

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.