Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-06-2008, 16:51   #1
jj.69kt
Senior Member
 
L'Avatar di jj.69kt
 
Iscritto dal: Oct 2007
Messaggi: 677
[PHP] Leggere file e creare tabella...

Ciao, eccomi ancora a chiedere suggerimenti...

Comunque, sto studiandomi per i cacchi miei un po di php...
Ora vorrei relaizzare una pagina cha faccio questo, ma non so dove cominciare..

[edit]


Ho trovato cose simili manon ne cavo un ragno da un buco per ora.. Sarà che sono N00B inside per il php..

Fatemi ragionare!! da solo nn e la fò.. hehe
__________________

Desktop: (In Vendita) iMac (12,2) 27" --> i5 QaudCore 2,7GHz, 8GB RAM, 1TB HDD..
Laptop (In Pensione): MacBook PRO (3,1) 15.4" (Glossy, ma pentito) --> 2.2Ghz, 4GB Ram..
Camera: Nikon D80 with Nikkor 18-55mm 1:3-5.6 GII + Nikkor 55-200mm 1:4-5.6 VR
"Mobile":iPhone 5 64Gb
MyEbay: 100%! • Mercatino (Green = Good; Red = Bad) UncleSam, Boxi80, Zuckerbaer, lamerone, danidj, maxmax80

Ultima modifica di jj.69kt : 26-06-2008 alle 10:01.
jj.69kt è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2008, 01:30   #2
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
boh non sono espertissimo di php però (se ho capito bene) io farei una roba del genere (se consideriamo $testo un array che contiene le righe del file):


Codice:
foreach($testo as $riga) {
    $toPrint = explode("|", $riga);
    echo <<<EOF
       <tr bgcolor="#0099FF">
          <td><div align="center"><b>{$toPrint[0]}</b></div></td>
          <td>{$toPrint[1]}</td>
          <td>{$toPrint[2]}</td>
          <td>{$toPrint[3]}</td>
       </tr>
EOF;
}
non è una soluzione bellissima da vedere ma dovrebbe fare il suo lavoro
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2008, 11:47   #3
jj.69kt
Senior Member
 
L'Avatar di jj.69kt
 
Iscritto dal: Oct 2007
Messaggi: 677
Si, avevo pensato un cosa simile... (non sapevo esattamente come scriverla.. XD)

Il problema è che le righe sono alternate di colore.. E' li che è sorto il dubio...

pensavo una cosa del genere:

Psudocode:
Codice:
if file="./score.dat" exist
    then $dati = "./score.dat";
else{
    error = print("File non esistente");
    break;
     }

$righe[] = explode ("/n" $dati);
$time = getTime();
$data = detData();

 echo <<<EOF
         <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

          <title>Air Combat HighScores!</title>
          </head>

          <body>
          <table width="100%" border="1">
             <tr bgcolor="#0033FF" style="font-style:oblique">
                <td width="4%" height="28"><div align="center"><b>Pos.</b></div></td>
                <td width="24%"><div align="center"><b>Nome</b></div></td>
                <td width="35%"><div align="center"><b>Cognome</b></div></td>
                <td width="37%"><div align="center"><b>Valutazione</b></div></td>
             </tr>

         EOF;

for ($id = 1; $id<=10; $id++) //tanto so già per certo che le righe son solo 10!!
   {
      if (even? $id)
        {
             echo <<<EOF
                 <tr bgcolor="#0099FF">
                      <td><div align="center"><b>{$toPrint[0]}</b></div></td>
                      <td>{$toPrint[1]}</td>
                      <td>{$toPrint[2]}</td>
                      <td>{$toPrint[3]}</td>
                 </tr>
             EOF;
        }
      else
       {
           echo <<<EOF
               <tr bgcolor="#0099FF">
                    <td><div align="center"><b>{$toPrint[0]}</b></div></td>
                    <td>{$toPrint[1]}</td>
                    <td>{$toPrint[2]}</td>
                    <td>{$toPrint[3]}</td>
               </tr>
           EOF;
        }
   }

 echo <<<EOF

          </table>
         </body>
        </html>
     EOF;

saveToFile("./$data_$time.html")

Però non saprei come trasformare questo pseudcode in php funzionante..
__________________

Desktop: (In Vendita) iMac (12,2) 27" --> i5 QaudCore 2,7GHz, 8GB RAM, 1TB HDD..
Laptop (In Pensione): MacBook PRO (3,1) 15.4" (Glossy, ma pentito) --> 2.2Ghz, 4GB Ram..
Camera: Nikon D80 with Nikkor 18-55mm 1:3-5.6 GII + Nikkor 55-200mm 1:4-5.6 VR
"Mobile":iPhone 5 64Gb
MyEbay: 100%! • Mercatino (Green = Good; Red = Bad) UncleSam, Boxi80, Zuckerbaer, lamerone, danidj, maxmax80
jj.69kt è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2008, 14:58   #4
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
vediamo se mi riesce di fare qualcosa di decente
prima di tutto creati la pagina con i vari <html> <table> ecc staticamente, poi aggiungi questa tra <table> e </table>, penso che dovrebbe funzionare

Codice:
$testo = file("nome_file.dat");
foreach($testo as $id => $riga) {
    $toPrint = explode("|", $riga);
    $color = ($id % 2) ? "0099FF" : "00FFFF";
    echo <<<EOF
       <tr bgcolor="#$color">
          <td><div align="center"><b>{$toPrint[0]}</b></div></td>
          <td>{$toPrint[1]}</td>
          <td>{$toPrint[2]}</td>
          <td>{$toPrint[3]}</td>
       </tr>
EOF;
}
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2008, 15:27   #5
jj.69kt
Senior Member
 
L'Avatar di jj.69kt
 
Iscritto dal: Oct 2007
Messaggi: 677
WOW,
Ok, grazie.....
Non serviva un if-else quindi.... ah.. ma l' ($id % 2) cosa fa esattamente?
Sapresti dirmi anche come far si che si salvi km pagina html in un ALTRO file?
tipo se il mio è index.php si salvi km dicevo in "data_ora.html"?

Se mi riesce questo sarebbe perfetta la cosa.... (con un po di modifiche che mi faccio da solo.. )
__________________

Desktop: (In Vendita) iMac (12,2) 27" --> i5 QaudCore 2,7GHz, 8GB RAM, 1TB HDD..
Laptop (In Pensione): MacBook PRO (3,1) 15.4" (Glossy, ma pentito) --> 2.2Ghz, 4GB Ram..
Camera: Nikon D80 with Nikkor 18-55mm 1:3-5.6 GII + Nikkor 55-200mm 1:4-5.6 VR
"Mobile":iPhone 5 64Gb
MyEbay: 100%! • Mercatino (Green = Good; Red = Bad) UncleSam, Boxi80, Zuckerbaer, lamerone, danidj, maxmax80

Ultima modifica di jj.69kt : 18-06-2008 alle 15:29.
jj.69kt è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2008, 18:28   #6
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
beh senza che ti scrivo tutto, conviene che fai qualcosa del genere (credo! potrebbero esserci metodi molto migliori non so ):
metti in una variabile tutto quello che intendi far finire nella pagina html, quindi qualcosa come
$newText = "<html></head><title>titolo</titld>" ecc ecc
e quindi invece che fare (per esempio)
Codice:
echo <<<EOF 
   <tr><td>{$toPrint[0]}<td></tr>
EOF
fai
Codice:
$newText .= "<tr><td>{$toPrint[0]}<td></tr>";
e alla fine apri il file su cui vuoi scrivere, ci ficchi tutto dentro e richiudi

Codice:
$newFilename = "./$date_$time.html";
$newFile = fopen($newFilename, "w");
fwrite($newFile, $newText);
fclose($newFile);
disclaimer: probabilmente ci stanno metodi più astuti

P.S. il % calcola il resto della divisione tra il numero che sta a sinistra e quello che sta a destra. Quindi x % 2 vale 0 se x è divisibile per 2 (e quindi pari), 1 altrimenti (se quindi è dispari). Poi ho usato l'operatore ternario la cui sintassi è
(espressione1) ? espressione2 : espressione3
che ritorna espressione2 se espressione1 è vera, espressione3 altrimenti
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 10:38   #7
jj.69kt
Senior Member
 
L'Avatar di jj.69kt
 
Iscritto dal: Oct 2007
Messaggi: 677
Se io faccio così:

Codice:
fwrite($newFile, $newText.$newText2.$newText3);
Mi mette le stringhe una dopo l'altra, no?

Non devo fare:
Codice:
fwrite($newFile, $newText);
fwrite($newFile, $newText2);
fwrite($newFile, $newText3);
. . .
Corretto?

Ah per vedere se il file ".dat" esist posso usare:
Codice:
$data= file"./dati.dat"

if isset($data)
then......
else....
Oppure no?
__________________

Desktop: (In Vendita) iMac (12,2) 27" --> i5 QaudCore 2,7GHz, 8GB RAM, 1TB HDD..
Laptop (In Pensione): MacBook PRO (3,1) 15.4" (Glossy, ma pentito) --> 2.2Ghz, 4GB Ram..
Camera: Nikon D80 with Nikkor 18-55mm 1:3-5.6 GII + Nikkor 55-200mm 1:4-5.6 VR
"Mobile":iPhone 5 64Gb
MyEbay: 100%! • Mercatino (Green = Good; Red = Bad) UncleSam, Boxi80, Zuckerbaer, lamerone, danidj, maxmax80
jj.69kt è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 11:02   #8
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
per quanto riguarda la prima domanda ti conviene prima creare il "megastringone" contenente tutta la pagina semplicemente facendo $nextText .= "altro html", l'operatore .= funziona come il += per le stringhe.
Per vedere l'esistenza di un file ti conviene invece utilizzare file_exists($filename), che restituisce 1 se esiste, 0 altrimenti
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 11:08   #9
jj.69kt
Senior Member
 
L'Avatar di jj.69kt
 
Iscritto dal: Oct 2007
Messaggi: 677
Ok, allora faccio così per il testo:
Codice:
$text1="asd";
$text2="sad";
$text.....

$textToPage=$text1.$text2.$text.....

//e poi in fine

fwrite($pagina, $textToPage);

Ho capito giusto?

Per l'esistenza del file:
Codice:
$dati= file"./dati.dat"

if (file_exist($dati) != 1)
   //errore

//poi continuo col codice...

Ah un'altro dubbio..
Ma sei io faccio così:
Codice:
$testo = file("nome_file.dat");
foreach($testo as $id => $riga) {
    $toPrint = explode("|", $riga);
    $color = ($id % 2) ? "0099FF" : "00FFFF";
    echo <<<EOF
       <tr bgcolor="#$color">
          <td><div align="center"><b>{$toPrint[0]}</b></div></td>
          <td>{$toPrint[1]}</td>
          <td>{$toPrint[2]}</td>
          <td>{$toPrint[3]}</td>
       </tr>
EOF;
}
E al posto dell' "echo" metto un variabile... poi nn funziona xke sovrascrive quello che esiste già, no?

Codice:
$testo = file("nome_file.dat");
foreach($testo as $id => $riga) {
    $toPrint = explode("|", $riga);
    $color = ($id % 2) ? "0099FF" : "00FFFF";

    $text= "<tr bgcolor=/"#".$color."/"> <td><div align="center"><b>".{$toPrint[0]}."<//b><//div><//td> <td>".{$toPrint[1]}."<//td> <td>".{$toPrint[2]}."<//td> <td>".{$toPrint[3]}."<//td> <//tr> "
Mi devo creare 10 variabili e chiamarle in sequnza?
__________________

Desktop: (In Vendita) iMac (12,2) 27" --> i5 QaudCore 2,7GHz, 8GB RAM, 1TB HDD..
Laptop (In Pensione): MacBook PRO (3,1) 15.4" (Glossy, ma pentito) --> 2.2Ghz, 4GB Ram..
Camera: Nikon D80 with Nikkor 18-55mm 1:3-5.6 GII + Nikkor 55-200mm 1:4-5.6 VR
"Mobile":iPhone 5 64Gb
MyEbay: 100%! • Mercatino (Green = Good; Red = Bad) UncleSam, Boxi80, Zuckerbaer, lamerone, danidj, maxmax80

Ultima modifica di jj.69kt : 19-06-2008 alle 11:13.
jj.69kt è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 13:06   #10
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
Quote:
Originariamente inviato da jj.69kt Guarda i messaggi
Ok, allora faccio così per il testo:
Codice:
$text1="asd";
$text2="sad";
$text.....

$textToPage=$text1.$text2.$text.....

//e poi in fine

fwrite($pagina, $textToPage);

Ho capito giusto?
o fai così oppure fai, più semplicemente
Codice:
$textToPage = "asd";
$textToPage .= "asd";
$textToPage .= ....

fwrite($pagina, $textToPage);
Quote:
Per l'esistenza del file:
Codice:
$dati= file"./dati.dat"

if (file_exist($dati) != 1)
   //errore

//poi continuo col codice...
ti conviene fare il controllo prima:
Codice:
if(file_exists($dati) != 1) die("Attenzione, il file non esiste!");
e poi metti tutto il resto del codice.
Quote:
Ah un'altro dubbio..
Ma sei io faccio così:
Codice:
$testo = file("nome_file.dat");
foreach($testo as $id => $riga) {
    $toPrint = explode("|", $riga);
    $color = ($id % 2) ? "0099FF" : "00FFFF";
    echo <<<EOF
       <tr bgcolor="#$color">
          <td><div align="center"><b>{$toPrint[0]}</b></div></td>
          <td>{$toPrint[1]}</td>
          <td>{$toPrint[2]}</td>
          <td>{$toPrint[3]}</td>
       </tr>
EOF;
}
E al posto dell' "echo" metto un variabile... poi nn funziona xke sovrascrive quello che esiste già, no?

Codice:
$testo = file("nome_file.dat");
foreach($testo as $id => $riga) {
    $toPrint = explode("|", $riga);
    $color = ($id % 2) ? "0099FF" : "00FFFF";

    $text= "<tr bgcolor=/"#".$color."/"> <td><div align="center"><b>".{$toPrint[0]}."<//b><//div><//td> <td>".{$toPrint[1]}."<//td> <td>".{$toPrint[2]}."<//td> <td>".{$toPrint[3]}."<//td> <//tr> "
Mi devo creare 10 variabili e chiamarle in sequnza?
ti conviene fare come ti ho detto prima, cioè utilizzi ogni volta l'operatore .= in modo da aggiungere la roba da stampare alla stessa variabile $text, e poi fai fwrite($pagina, $text)

Ultima modifica di Torav : 19-06-2008 alle 14:58.
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 14:30   #11
jj.69kt
Senior Member
 
L'Avatar di jj.69kt
 
Iscritto dal: Oct 2007
Messaggi: 677
aaaaaah!!!!!!

non avevo notato il " .= " avevo visto solo l'uguale....

Bene ti ringrazio, questa sera provo appena ho 2 minuti.
__________________

Desktop: (In Vendita) iMac (12,2) 27" --> i5 QaudCore 2,7GHz, 8GB RAM, 1TB HDD..
Laptop (In Pensione): MacBook PRO (3,1) 15.4" (Glossy, ma pentito) --> 2.2Ghz, 4GB Ram..
Camera: Nikon D80 with Nikkor 18-55mm 1:3-5.6 GII + Nikkor 55-200mm 1:4-5.6 VR
"Mobile":iPhone 5 64Gb
MyEbay: 100%! • Mercatino (Green = Good; Red = Bad) UncleSam, Boxi80, Zuckerbaer, lamerone, danidj, maxmax80
jj.69kt è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 16:40   #12
jj.69kt
Senior Member
 
L'Avatar di jj.69kt
 
Iscritto dal: Oct 2007
Messaggi: 677
PEEEEEERFETTOOOO!!!!

Ok, quindi funziona il tutto..
http://andrew.giurochesmetto.org/TES.../generaTab.php


Thanks!
__________________

Desktop: (In Vendita) iMac (12,2) 27" --> i5 QaudCore 2,7GHz, 8GB RAM, 1TB HDD..
Laptop (In Pensione): MacBook PRO (3,1) 15.4" (Glossy, ma pentito) --> 2.2Ghz, 4GB Ram..
Camera: Nikon D80 with Nikkor 18-55mm 1:3-5.6 GII + Nikkor 55-200mm 1:4-5.6 VR
"Mobile":iPhone 5 64Gb
MyEbay: 100%! • Mercatino (Green = Good; Red = Bad) UncleSam, Boxi80, Zuckerbaer, lamerone, danidj, maxmax80
jj.69kt è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2008, 23:52   #13
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
bene!
Torav è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
Nutanix accelera la migrazione da VMware...
Nutanix apre ai neocloud: piattaforma mu...
Nutanix amplia la piattaforma cloud e st...
Le fotografie dell'eclissi solare e dell...
Oracle AI Database si potenzia con nuove...
Russia offline: blackout internet mobile...
Gemini, Google investe 30 milioni per la...
Roborock Qrevo Edge S5A: 17.000 Pa, acqu...
Resa pubblica la foto della ''Terra che ...
Il robot che ha piegato 200 scatole di f...
SteelSeries Aerox 3 Wireless Gen 2: nuov...
"Quasi sociopatico": Sam Altma...
Star Wars Eclipse in difficoltà: ...
Gestione del team e romance organiche: l...
Intel lancia Core Ultra X9 378H: hardwar...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:55.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v