Jump to content
php.lv forumi

Problema ar TXT failiem.


Zoom

Recommended Posts

Es esmu uztaisijis tadu sitemu. Man ir fails install.php kur es pasrocigi laukos ievadu (4 input lauki):

DB vardu, servera adresi, lietotaja vardu, paroli. Es visu to izdaru un spiezu submit pogu. Man skripts ieraksta DB vardu MySQL un DB tabulas. Un tad vins vel ieraksta config faila informaciju. DB vardu, servera adresi, lietotaja vardu, paroli (skat. 1 kodu).

Fails db.php panem no no ta konfig faila informaciju (DB vardu, servera adresi, lietotaja vardu, paroli) (sakt. 2 kodu). Un selekto. Palaizu failu, bet saka ka nav atlauja.

Un tad sakas sviests! Vins nenem preti pirmo rindinu konfig faila, bet nem citu. Paskaidrosu 3 skripta.

 

KODS 1.
//rindina kas stav konfig faila

DB1::localhost::einars::

 

KODS 2.
// fails kurs nolasa konfig faila saturu un selekto. db.php
<?php
error_reporting(E_ALL);
$xfile = @file("config_db.php");
$cnt = count($xfile);
for ( $i=$cnt-1; $i>=0; $i-- ) {
$udata = explode("::",$xfile[$i]);
}
$server =     $udata[1];
$dbname =     $udata[0];
$user_name =  $udata[2];
$pasw =       $udata[3];

$data = @mysql_connect($server, $user_name, $pasw) or die (mysql_error());
@mysql_select_db($dbname, $data) or die ('nevar atvert DB :(('.mysql_error());
echo "viss strada";

?>

 

KODS 3
tas saucamais sveists

//izveidoju vienu DB un saglabajas infa:

1 rindina ==> DB1::localhost::einars::

//tagad man rada ka nevar savienit, jo nav atlaujas

---------------------------------------
//izveidoju jaunu DB kur ierakstas otra info rindina:

1 rindina ==> DB1::localhost::einars::
2 rindina ==> DB2::localhost::einars::

---------------------------------------------- 

IZDZESU 1 rindinu
2 rindina ==> DB2::localhost::einars::

----------------------------------------------

2 rindina ==> DB2::localhost::einars::
//PACELU 1mas RINDINAS VIETA 2 RINDINU

//un tagad viss iet, vioenojas klat.

 

INSTALL.php

Edited by Zoom
Link to comment
Share on other sites

Kad tu raksti config failu, tad ieteiktu to uzreiz rakstīt jau kā PHP failu, teiksim:

 

<?php 

$filecontent = '<?php

$dbhost = ' . var_export($dbhost, true) . ';
$dbname = ' . var_export($dbname, true) . ';
$dbuser = ' . var_export($dbuser, true) . ';
$dbpass = ' . var_export($dbpass, true) . ';

?>';

$fp = fopen('config.php', 'w');
fwrite($fp, $filecontent);
fclose($fp);

?>

 

Ar nosacījumu, ka tev ir definēti 4 mainīgie, kas redzami var_export funkcijā.

 

Tādējādi pēc tam vairs nebūs nekādu problēmu ar maģisku config faila apstrādi... Vienkārši taisi require_once('config.php'); un visi mainīgie ir jau savās vietās.

Link to comment
Share on other sites

Citu zināšanai - problēma jau tika atrisināta: šim install.php failā pie ierakstīšanas parolei galā pielikās atstarpe, tāpēc nekas neslēdzās mysql serverim klāt (#42 rinda).

Edited by bubu
Link to comment
Share on other sites

×
×
  • Create New...