Buonasera, volevo sapere se questo codice può essere pericoloso...
Printable View
Buonasera, volevo sapere se questo codice può essere pericoloso...
Questo codice quale? Quello che abbiamo scritto nei post precedenti? Se si dipende da cosa intendi per pericoloso!
Ciao, si, il codice è quello scritto nei post precedenti.
Per "pericoloso" intendo che l'host dove carichi il codice possa toglierti lo spazio web...ho trovato questo in rete :accertatevi che il vostro gestore di spazio web non richieda specifiche protezioni di scrittura nella cartella che contiene i file di testo!!!
Questo messaggio si riferiva al primo codice che ho scritto e modificato grazie a voi per le mie esigenze. Spero di essermi spiegato!
Grazie
Non ho capito ancora il problema... Cosa centra il gestore (in questo caso AV) con il codice (una chat)?
Scusate, ma un database in un file di testo non rappresenta un potenziale problema? Se si arrivasse a trovarlo, si potrebbe facilmente accedervi! E la pesantezza sarebbe ancor più notevole, secondo me! Ad esempio, se il file si chiamasse database.txt e io lo trovassi nel tuo spazio, avrei accesso a tutti dati contenuti in esso!
E se io il numero della data volessi vederlo centrato come dovrei fare?
@genuzzu: ci sono vari modi per nascondere i file!!!
Io uso solo database su file testuali (anche perchè son più facili da trasferire via FTP) e non mi è mai successo niente ^^
curiosità: e con un file di testo/database di 1MB le connessioni sono veloci?
Voglio dire... se ti trovi ad avere, come (spero) nel mio caso (spero) sarà 300 voci da 300 caratteri nel database di testo, avrai 300 * 300= 90000, cioè 90k circa... cosa devi fare al posto di "SELECT FROM TABELLA TESTO WHERE ID=279"? :shock:
Io, che già fatico a gestire il mysql, non ci riuscirei.
Io mi sono creato una classe che fa questo per me :lol:!
Di sicuro non è semplice, io ho fatto giusto un prototipo :lol:
P.S. non è semplice riuscire ad "emulare" tutte le funzioni di mysql :D!Codice PHP:
<?php
error_reporting(E_ALL);
class flat {
private $file;
public function __construct($file) {
$this->file = file($file, FILE_TEXT | FILE_SKIP_EMPTY_LINES);
}
public function fetch($fields, $sep, $where = null) {
if(!empty($where)) {
$where = explode("=", $where);
$w_col = trim($where[0]);
$w_val = trim($where[1]);
}
$fields = explode(",", $fields);
$field = array();
$i = 0;
foreach($this->file as $row) {
$exp = explode($sep, $row);
if((count($fields) - 1) > (count($exp) - 1)) {
unset($fields[(count($fields) - 1)]);
}
foreach($fields as $value) {
if(!empty($where) && $w_col == $value && $w_val == $exp[$i]) {
$field[$value][] = trim($exp[$i]);
}
$i++;
if($i > (count($exp) - 1)) { $i = 0; }
}
}
return $field;
}
}
$flat = new flat("my.txt");
$r = $flat->fetch("id,titolo,testo", " | ", "id = 1");
print_r($r);
?>
Mi inizia ad interessare... faccio delle prove...
Comunque, non credete sia meglio il mysql? Dico, devi fare una faticaccia per leggere il file di testo mentre con il mysql basterebbe un rigo... (anche se dopo che hai fatto la classe è la stessa cosa...) con conseguenti possibili errori senza avere a disposizione, ad esempio, mysql.error ?
Magari posso implementarlo nella classe!
Siccome non è tra i miei progetti non gli dedico molto tempo.
Sono contento che inizii ad interessarti :D!
P.S. Non essendo molto bravo con le espressioni regolari, non riesco a creare qualcosa di simile a mysql :(
Ora che ci penso ci sono alcuni script già molto potenti. Vedi qui:
http://litecms.altervista.org/?Database_di_testo
Oltre a questa aggiungo un altra domanda:
se io voglio fare la seguente cosa:
ogni volta che un utente compila un determinato modulo questo viene salvato in un file di testo, e in un determinato file php viene creata come una sezione che se cliccata mi apre quella pagina! Come fare?
Grazie in anticipo!
Altra cosa:
Questo è il mio file.phpCodice PHP:
<?php
if(isset($_POST["data"])) {
$fp = fopen("data.txt", "a");
fwrite($fp, fwrite($fp, $_POST["element_1"] . " | " . $_POST["element_8"] . " | " . $_POST["element_2"] . " |
" . $_POST["element_2_1"] . " | " . $_POST["element_2_2"] . " | " . $_POST["element_2_3"] . " |
" . $_POST["element_3"] . " | " . $_POST["element_3_1"] . " | " . $_POST["element_3_2"] . " |
" . $_POST["element_4"] . " | " . $_POST["element_5"] . " | " . $_POST["element_6"] . " |
" . $_POST["element_7"]);
fclose($fp);
foreach(file("data.txt") as $f) {
echo $f . "<br />";
}
}
?>
e questo index.html:
Dove sbaglio?Codice HTML:<table>TEST 01
<form action="file.php" method="post">
<tr>
<td>Titolo:</td><td><input type="text" name="element_1"></td>
</tr>
<input id="element_1" name="element_1" class="element text medium" type="text" maxlength="255" value=""/>
</label>
<div>
<p>Luogo
<select class="element select medium" id="element_8" name="element_8">
<option value="" selected="selected"></option>
<option value="1" >Italia</option>
<option value="2" >Europa</option>
<option value="3" >America del Nord</option>
<option value="4" >America del Sud</option>
<option value="5" >Australia</option>
<option value="6" >Asia</option>
</select>
</p>
<div></div>
<label class="description" for="element_2">Data del Viaggio </label>
<span>
<input id="element_2_1" name="element_2_1" class="element text" size="2" maxlength="2" value="" type="text"> /
<label for="element_2_1">GG</label>
</span>
<span>
<input id="element_2_2" name="element_2_2" class="element text" size="2" maxlength="2" value="" type="text"> /
<label for="element_2_2">MM</label>
</span>
<span>
<input id="element_2_3" name="element_2_3" class="element text" size="4" maxlength="4" value="" type="text">
<label for="element_2_3">AAAA</label>
</span>
<label class="description" for="element_3"><br />
Costo </label>
<span class="symbol">€</span>
<span>
<input id="element_3_1" name="element_3_1" class="element text currency" size="10" value="" type="text" />
<label for="element_3_1">Euro</label>
</span>
<span>
<input id="element_3_2" name="element_3_2" class="element text" size="2" maxlength="2" value="" type="text" />
<label for="element_3_2">Cent</label>
</span>
<br>
<label class="description" for="element_4">Descrizione </label>
<div>
<textarea id="element_4" name="element_4" class="element textarea medium"></textarea>
</div>
<label class="description" for="element_5">Immagini </label>
<div>
<input id="element_5" name="element_5" class="element file" type="file"/>
</div>
<label class="description" for="element_6"> </label>
<div>
<input id="element_6" name="element_6" class="element file" type="file"/>
</div>
<label class="description" for="element_7"> </label>
<div>
<input id="element_7" name="element_7" class="element file" type="file"/>
</div>
<input type="hidden" name="form_id" value="118589" />
<input id="saveForm" class="button_text" type="submit" name="submit" value="Invia" />
</div>
</form>