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

Discussione: Scrittura su file

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100

    Scrittura su file

    Salve.. allora, io ho il seguente codice :

    codice:
    <?php
    include("dati_connessione.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE) die ("Errore nella connessione a MySQL");
    $connessione = mysql_select_db($db_name , $db);
    if ($connessione == FALSE) die ("Errore nella selezione del DB $db_name");
    //$nometabella = array ("t0" => "circolari", "t1" => "notiz", "t2" => "sentenze", "t3" => "ordinanze");
    $nometabella = array ("t0" => "notiz");
    foreach ($nometabella as $nomet => $tabella)
    {
    	$queryleggi = "select * from $tabella";
    	$risultati = mysql_db_query($db_name,$queryleggi);
    	if ($risultati == false) echo "Errore nella lettura dei dati<\n> $queryleggi 
    
    ";
    	$righe = mysql_num_rows($risultati);
    	if  ($righe > 0) {
    		$fc = "$tabella.csv";
    		$fcs = fopen($fc,"w");
    		flock($fcs,2);
    		for ($c=0; $c < $righe; $c++)
    		{
    			$mese = mysql_result($risultati, $c, "mese");
    			if ($mese < 0) $mese = "00";
    			$anno = mysql_result($risultati, $c, "anno");
    			$giorno = mysql_result($risultati, $c, "giorno");
    			if ($giorno < 0) $giorno = "00";
    			$nrdoc = mysql_result($risultati, $c, "nrdoc");
    			$nomefile = mysql_result($risultati, $c, "nomefile");
    			$descriz = mysql_result($risultati, $c, "descriz");
    			$testo = "$mese|$anno|$giorno|$nrdoc|$nomefile|$descriz\n";
    			fwrite($fcs,$testo);
    		};
    	flock($fcs,3);
    	fclose($fcs);
    	};
    	echo "<a href=\"$tabella.csv\">Scarica $tabella.csv</a>
    ";
    };
    mysql_close($db);
    ?>
    Non capisco xkè quando apro il file mi aggiunge per alcuni record nel campo descriz dei ritorno a capo che non dovrebbero esistere.
    se apro con il notepad mi ritrovo un carattere simile a un rettangolino, e importandolo in excel ho il risultato ke mi taglia il risultato dividendo il record su + righe!

    Ke può essere? Qualche idea?

    Ciao a tutti.. grazie

  2. #2
    se provi in remoto dovrebbe funzionare.
    penso che sia windows...
    è meglio tacere e far credere di essere stupido piuttosto che parlare e togliere ogni dubbio

  3. #3
    Utente di HTML.it L'avatar di iox84
    Registrato dal
    May 2004
    Messaggi
    754
    Prova ad aggiungere lo \r a questa riga

    codice:
    $testo = " $mese|$anno|$giorno|$nrdoc|$nomefile|$descriz\n\r";
    La fortuna e' cieca ma la sfiga ci vede benissimo
    Comprarselo o farselo di legno

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100
    La creazione del file avviene sul server in remoto.

    Ho provato ad aggiungere \n\r
    ma nada...

    ci sono alcune righe che mi inserisce da solo nella descriz il ritorno a capo !

    Sto

    Tra l'altro se visualizzo a monitor tramite echo "$testo
    " tutto funziona

    se copio e incollo il risultato tutto funziona.. ma invece scrivendoli su file?! boh

    I need helppppppppppppp!!!!!!!




    Grazie ciao!!

  5. #5
    Se ti inserisce il ritorno a capo, significa che c'è.
    Una delle prime cose che mi verrebbe da chiederti e da dove prendi e dove inserisci il campo descrizione. Se è come penso lo prendi da una textarea, e quando fai echo $testo; è logico che non ti segni i ritorni a capo. Prendi un campo descrizione in cui sul file di testo ti va a capo e prova a fare un echo nl2br($testo);, dovrebbe andarti a capo, se realmente ci sono i \n.

    Oppure non saprei, aveva dato anche a me dei problemi con questi dannati ritorni a capo una volta, e non ero riuscito a risolvere sebbene le avessi provate praticamente tutte, il mio caso però era in un file csv, quindi non so se è riconducibile al tuo.

    Ma prova a fare come ti ho detto e vedi cosa ti stampa.
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100
    Allora.. la situescion parte da questo :

    ho un file csv dove ho i vari campi da caricare nel db.
    i dati vengono letti e caricati correttamente. Nel file excel non ci sono ritorni a capo in quanto non ne ho inseriti. Il testo l'ho inserito nella cella direttamente.

    Quando leggo il db non capisco xkè solo su alcuni record fa sto discorso.

    Cmq.. provo cm hai detto te.. e vedremo.. ciao grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100
    ehy! Diamine hai ragione!!! ci sono i ritorni a capo!!!!

    Come li elimino?

  8. #8
    da codice html prima non li vedevi perché erano semplici \n, ma la funzione nl2br() ti trasforma i \n in
    .

    Potresti usare uno str_replace per togliere i \n:
    codice:
    $str = str_replace('\n', '', $str);
    prova magari anche con \n\r

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    100
    non funziona.

    sto provando cosi :

    $testo = "$mese|$anno|$giorno|$nrdoc|$nomefile|$descriz ";
    $testo = str_replace('\n', '', $testo);
    $testo = str_replace('\r', '', $testo);
    echo nl2br($testo) ."
    ";

    altri consigli ?

  10. #10
    se togli i \n e \r non ha più senso usare poi nl2br, facedno come hai fatto tu cosa ti scrive?e soprattutto, cosa vuoi che ti scriva?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.