Autor Zpráva
MATRAUX
Profil
Dobrý den,

mám soubor index.php a potřebuji aby v se mi v tomto souboru přepsaly a uložily určité řetězce, např.:

nějaké funkce;
mysql_connect("fiktivni server",  "uzivatel",  "heslo");
mysql_select_db("fiktivni databaze");
nějaké funkce;


aby se přepsalo a uložilo v souboru jako:

nějaké funkce;
mysql_connect("fiktivni server dva", "uzivatel dva",  "heslo dva");
mysql_select_db("databaze dve");
nějaké funkce;


Funkce by měla ve výsledku zapsat přihlašovací údaje do databáze.

Nastaveni CHMOD pro použití funkcí jako FOPEN, FWRITE, není problém, jen bych potřeboval poradit vhodnou funkci pro takový přepis. FWRITE mi dovolí pouze zápis na konec nebo na začátek stránky (a smazání všeho ostatního).

(v PHP manual jsem hledal ale bez výsledku)

Děkuji předem za rady.
Keeehi
Profil
Nakopnu tě určitým směrem, snad to pochopíš, co tím myslím:
nějaké funkce;
include "pripojeni.php";
nějaké funkce;

pripojeni.php
<?php
mysql_connect("fiktivni server",  "uzivatel",  "heslo");
mysql_select_db("fiktivni databaze");
?>

Ještě zmíním, že takovéto přepisování souborů není vůbec hezké řešení. To to neumíš vyřešit normálněji? Např. ty hodnoty uložit do pole?
MATRAUX
Profil
No nechat vytvořit externí soubor není špatný nápad. Ale přece jen bych rád pracoval v jednom souboru.
MATRAUX
Profil
Tak už jsem na to přišel.

$ftp = ftp_connect("server"); //připojení na FTP
ftp_login($ftp, "uživatel", "heslo"); //Přihlašovací údaje na FTP. Později možno sasílat přes formulář $_POST
ftp_chmod($ftp, 0777, "index.php"); //index si nastaví přes FTP aby byl přepisovatelný


$open = fopen("index.php", "r+"); //otevře soubor pro čtení a pro zápis
$data1 = fread($open, 23); //$data = výběr prvních 23 znaků z index.php
$data2 = fread($open, filesize("test10.php")); //$data2 = pokračuje ve výběru od 23. znaku až na konec
rewind($open); //vrátí se z poslední pozice (konec souboru) na začátek (0 pozice)
fwrite($open, $data1."//komentář\n".$data2); //přepíše celý soubor a vloží mez 23 a 24 znak "komentář"



fclose($open); //zavře soubor
ftp_chmod($ftp, 0644, "index.php"); //nastaví zpět index.php aby jej nebylo možné přepisovat
ftp_close($ftp); //ukončí FTP spojení



index.php vypadá před zápisem takto:
<php?
session_start();
$nějaké proměné = "nějaké hodnoty";


index.php po testovní zápisu:
<php?
session_start();
//komentář
$nějaké proměné = "nějaké hodnoty";

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0