Super ciclo

catellostefano

Utente Attivo
19 Dic 2008
525
2
0
www.stepo.biz
Salve oggi mi imbattevo nella modifica dei file tamite fopen, fseek, fwrite, fclose.

Ma ad un certo punto ho dovuto affrontare il mio primo ciclo serio, in poche parole, dovrei modificare una pagina config.php (ecco il codice:
<?php
$ftp_host = '127.0.0.1';
$ftp_user = 'step';
$ftp_pass = 'pass';
$host = 'localhost';
$user = 'utentedb';
$db = 'passdb';
$pass = '';
?>
)
i dati all'interno delle ' ' sono i dati da modificare ci sono riuscito facendo in questo modo:
$fp=fopen('config.php','r+');
fseek($fp, 16, SEEK_SET);
fwrite($fp, $ftphost);
fclose($fp);

la variabile $ftphost la prendo in questo modo
$ftphost = $_POST['ftphost']; quindi tramite post da questa pagina http://php.stepo.biz/config/index.php

ma visto che dovrei scrivere sempre lo stesso comando ma cambiare solo alcune variabili ogni volta credevo che è una cosa che possa fare un ciclo!!!!
Ho fatto nel modo sotto riportato, è inutile dire che non funziona, ma già a vedersi si capisce che non va, postreste aiutarmi????

GRAZIE


<?
//Recupero i dati dal form
$ftphost = $_POST['ftphost'];
$ftpuser = $_POST['ftpuser'];
$ftppass = $_POST['ftppass'];
$dbhost = $_POST['dbhost'];
$dbuser = $_POST['dbuser'];
$dbpass = $_POST['dbpass'];

//Definisco le variabili
$var1 = $ftphost;
$var2 = $ftpuser;
$var3 = $ftppass;
$var4 = $dbhost;
$var5 = $dbuser;
$var6 = $dbpass;

//inizia il ciclo di modifica file

for ($var1 = $ftphost; $var1 <= $var6; ++$var1)
{
$fp=fopen('config.php','r+');
fseek($fp, 16, SEEK_SET);
fwrite($fp, $var1);
fclose($fp);
}


//scrivo OK
print "OK";
?>
 
ciao
non ho capito molto quello che devi fare, ma quando lavori con una serie di vatiabili come la tua ti conviene fare (almeno credo)

PHP:
$var=array();
$var[] = $ftphost;
$var[]  = $ftpuser;
$var[]  = $ftppass;
$var[]  = $dbhost;
$var[] = $dbuser;
$var[]  = $dbpass;
//php assegna in automatco l'indice numerico

foreach($var as $value){
$fp=fopen('config.php','r+');
fseek($fp, 16, SEEK_SET);
fwrite($fp, $var[0]);
/*
$var[0] corrisponde alla tua $var1
se invece tu volevi che ad ogni ciclo ci fosse il valore della 1,2,3...
al posto di $var[0] devi mettere $value
*/
fclose($fp);
}
 
Ho provato a fare in questo modo, ma mi da un errore sulla linea 2

http://php.stepo.biz/config/


<? php
$ftphost = $_POST['ftphost'];
$ftpuser = $_POST['ftpuser'];
$ftppass = $_POST['ftppass'];
$dbhost = $_POST['dbhost'];
$dbuser = $_POST['dbuser'];
$dbpass = $_POST['dbpass'];

$var=array(
$ftphost,
$ftpuser,
$ftppass,
$dbhost,
$dbuser,
$dbpass);

foreach($var as $value){
$fp=fopen('config.php','r+');
fseek($fp, 16, SEEK_SET);
fwrite($fp, $var[0]);
fclose($fp);

print "OK";
?>
 
non ho capito una cosa Borgo; se i diversi valori di $var vengono raccolti nel ciclo tramite $value
PHP:
foreach($var as $value){ ...
perché per scrivere sul file utilizzi sempre $var?
PHP:
fwrite($fp, $var[0]);
 
ciao
intanto devi chiudere il foreach }

perché per scrivere sul file utilizzi sempre $var?

ciao demoniaco:rolleyes:, non devi chiederlo a me, ma a castellostefano, infatti nelle note avevo precisato che se (come mi sembrerebbe logico) al posto di $var[0] deve mettere $value

ma mi da un errore sulla linea 2
la riga due è quelle del $ftpuser = $_POST['ftpuser'];? se è quella non so cosa dirti, l'errore probabilmente viene dalla pag precedente
 
PHP:
intanto devi chiudere il foreach }
li hai visti i puntini di sospensione??
:incazz::incazz::incazz

la riga due è quelle del $ftpuser = $_POST['ftpuser'];?
dai un'attenta occhiata alla riga 1
:):):):):)
 
Scusate se mi intrometto:D:D:D:D

vi spiego quando ho fatto $var era solo per dire che quelle dovevano variare nel senso che per 1° doveva essere esegiuta.

A mio avviso per arrivare ad una conclusione, voi cosa mi consigliate di fare nel caso ho una pagina di questa stringa:

<form method="post" action="creazione.php">
FTP host: <input type="text" name="ftphost"><br>
FTP user: <input type="text" name="ftpuser"><br>
FTP pass: <input type="text" name="ftppass"><br>
DB host: <input type="text" name="dbhost"><br>
DB user: <input type="text" name="dbuser"><br>
DB pass: <input type="text" name="dbpass"><br>
<input type="submit">

che mi deve permettere di modificare alcuni componenti della pagina: config.php, di questa stringa:

<?
$ftp_host = 'testodacambiare';
$ftp_user = 'testodacambiare';
$ftp_pass = 'testodacambiare';
$host = 'testodacambiare';
$user = 'testodacambiare';
$db = 'testodacambiare';
$pass = '';
?>

GRAZIE:fonzie:
 
Ciao,
volevo dirvi che domani parto, ci vediamo il 3 giugno(quando torno)!!!!

Se mi volete in questi giorni mi troverò ad OlgiateOlona (VA)!!!:D:D

ZAOOOOO:fonzie:
 

Discussioni simili