Autor Zpráva
MartinJ
Profil *
Dobrý den. Mám script, který mi generuje random "hesla" o 10-ti znacích. Potřeboval bych ale, aby se každé vygenerované "heslo" uložilo do souboru "codes.txt" a každý na nový řádek.
<?php
function generateRandomString($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}
echo generateRandomString();
?>
Takto vypadá můj script. Potřeboval bych, aby output, který se zobrazuje díky "echo" byl zapsán do toho souboru. Když někdo jiný vygeneruje nové "heslo", zapíše se na nový řádek v souboru. Díky všem.
Taps
Profil
<?php
function generateRandomString($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return file_put_contents("codes.txt",$randomString."\n",FILE_APPEND | LOCK_EX);
}
echo generateRandomString();
Keeehi
Profil
Taps:
Ukládání do souboru v té funkci nemá či dělat.

<?php
function generateRandomString($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}

// vygeneruj deset kódů
$codes = '';
for ($i=0 ; $i<10 ; $i++) {
    $codes .= generateRandomString()."\n";
}


// a ulož je do souboru
file_put_contents("codes.txt", $codes, FILE_APPEND | LOCK_EX);
MartinJ
Profil *
Keeehi:
Do souboru se ale stále ty kódy nezapisují.. :/ Nevim, kde je chyba. :/


Keeehi:
Kódy to generuje, ale ten vygenerovaný kód, co se ukáže návštěvníkovi bych chtěl uložit do toho souboru. :/ csgoguides.cekuj.net/gen.php
juriad
Profil
Co vrátí funkce file_put_contents?
var_dump(file_put_contents("codes.txt", $codes, FILE_APPEND | LOCK_EX));
Pokud FALSE, tak uložení prostě selže. Důvodem nejčastěji bývá oprávnění. Může PHP zapisovat do toho souboru? Může PHP vytvořit nový soubor v tom adresáří (pokud ještě neexistuje)?

Podle mě je tam zapisuje:
csgoguides.cekuj.net/codes.txt
(Před chvílí jsem tento soubor viděl a obsahoval hromadu řádků s kódy.)
MartinJ
Profil *
juriad:
Když si ten soubor stáhnu z FTP serveru, neobsahuje nic. Jen jsem tam dal na zkoušku 10 řádků s čislicemi 1-10, abych si potvrdil, že druhý script, co ty kódy vybírá funguje (csgoguides.cekuj.net/pick.php) a ano. funguje. Ale ten první script to nezapisuje. POkud soubor codes.txt odstraním, po reloadu stránku s gen.php se soubor vytvoří. Ale nic neobsahuje


juriad:
Psal jsem na podporu Endory, práva na zápis to má, ani žádné errory to nehází.. Vážně nemám nápad, čím by to mohlo být. :/ Ale pokud se cílový soubor k zápisu nenachází v uvedené cestě, tak ho to vytvoří.. Ale zůstává prázdný.
Lonanek
Profil
MartinJ:
v souboru gen.php nikde nemáte definovanou proměnnou $codes, není tedy co zapisovat...

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: