|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1728
|
[PHP] c'è un modo per usare fread dinamicamente?
Mi spiego meglio,anzi faccio proprio un esempio,prendiamo un file di testo dal quale leggo dei commenti,al momento che trovo il carattere "[" seguito poi da un numero che memorizzo in un contatore e seguito successivamente dal carattere "]" per esempio [1].Se ne file ci sono 9 commenti la funzione che andrò a scrivere ritornerà 9 che è l'ultimo numero letto.Ora sorge un problema,dato che ho scritto la funzione e funziona correttamente fino a 10 utilizzando nel ciclo while(!feof($puntatore_file)) una fread($puntatore_file,1) solo che da 10 in poi rinizia a contare da 1,come è possibile?C'è un qualche modo per leggere il contenuto tra le due parentesi dinamicamente?
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb MBA M3 13" 16/512 GB AW 7 iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
|
|
|
|
|
|
#2 |
|
Messaggi: n/a
|
Posta il codice che hai scritto.
Se ogni commento è posto su una riga a sè puoi utilizzare la funzione file() che ti "ritorna" il contenuto dello stesso come un array con N elementi pari alle N righe (commenti) presenti nel file. Sempre che non abbia frainteso quello di cui hai bisogno. Ciao. |
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1728
|
Questa è la funzione che legge dal file e memorizza l'ultimo numero:
Codice:
<?php
// conta post
function npost($nomefile){
if (!$p_file = fopen($nomefile,"r")) {
echo "Spiacente, non posso aprire il file";
} else {
while(!feof($p_file)) {
$carattere = fread($p_file,1);
echo $carattere;
if($carattere=="[") $postID= fread($p_file,1);
}
fclose($p_file);
}
return($postID);
}
Codice:
//scrittura sul file
function scrittura($nomefile,$nick,$commento,$postID){
if(($nick!="") && ($nick!="il tuo nickname")){
if(($commento!="") && ($commento!="Scrivi qui il testo")){
$postID++;
$p_file = fopen($nomefile,"a");
if(!$p_file) die("impossibile lasciare un commento,contattare l'amministratore");
$scrivicommento = fwrite($p_file,"[".$postID."] "); //contatore post
$scrivicommento = fwrite($p_file,"<b>".$nick."</b>"."\n");
$scrivicommento = fwrite($p_file,"«".$commento."»");
fclose($p_file);
}
else {
echo "<SCRIPT>alert('Il testo digitato è troppo breve o non valido');";
echo "history.back();</SCRIPT>";
}
}
else {
echo"<SCRIPT>alert('Devi immettere un Nickname valido');";
echo "history.back();</SCRIPT>";
}
}
?>
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb MBA M3 13" 16/512 GB AW 7 iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
Ultima modifica di Roran : 07-04-2010 alle 22:28. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1728
|
Qualcuno mi aiuta?
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb MBA M3 13" 16/512 GB AW 7 iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:12.










14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83









