Autor Zpráva
Rafan
Profil
Dobrý den,

Pokouším se pomocí PHP vytvořit soubor. Chtěl jsem to asi takhle mám kolonku "vytvorit" kam bych chtěl aby se zadávalo jméno souboru který se má vytvořit a do php jsem si dal :

$soubor=fopen("$vytvorit", "w+");


Akorát to nefunguje mohl by mi někdo poradit jak na to ? Děkuji.
Radek9
Profil
Rafan:
1) Nevyužívej direktivy register_globals. Používej globální pole $_POST.
2) Proč dáváš proměnnou do uvozovek?
Rafan
Profil
no už mi to nehodí chybu ale soubor se nevytvoří nevíte proč ? Díky.
Louka
Profil
Rafan:
máš správná práva v adresáři, kde soubor tvoříš?
Darker
Profil
A je nějaký důvod nepoužít funkci file_get_contents file_put_contents? Třeba by to fungovalo.
Další možnosti chyby:
- soubor existuje, ale je jen pro čtení
- název souboru je nesprávný
- vytváření souborů na serveru bylo zablokováno poskytovatelem.
Radek9
Profil
Darker:
A je nějaký důvod nepoužít funkci file_get_contents? Třeba by to fungovalo.
Nemyslíš file_put_contents? Fungovalo by to úplně stejně a navíc by to bylo pomalejší.
Darker
Profil
Radek9:
Nemyslíš file_put_contents?
Jasně, dík.

Fungovalo by to úplně stejně a navíc by to bylo pomalejší.
Když myslíš. Ale třeba by to udělalo aspoň něco. Za pokus nic nedá.
Rafan
Profil
jo skusil sem to file_get_contents. Zítra teda skusím file_put_contents. Díky.
Radek9
Profil
Rafan:
jo skusil sem to file_get_contents.
To ale právě slouží k načítání souboru.
japlavaren
Profil
kludne pouzi file put contents ta rychlost nehra ulohu...
<?php
$fileName = "somefile.txt";
$data = "dump data";

file_put_contents($fileName, $data);
?>

ak si na linux servery, treba nastavit adresaru prava 666, prip vytvorit ten subor a asuboru nastavit 666 (ak by nastavenie adresaru ohrozovalo bezpecnost)
Rafan
Profil
Dobrý večer,

vyhodí mi to chybu "Warning: file_put_contents(somefile.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/free/ic.cz/s/sleduj-serialy/root/www/test.php on line 5"

Nevíte proč ??

Použil jsem toto :

<?php
$fileName = "somefile.txt";
$data = "dump data";

file_put_contents($fileName, $data);
?>


Soubor ve kterým to mám uložené má nastavená práva 777. Děkuji za pomoc.
G3n3sis19
Profil
ty práva musíš nastavit adresáři /home/free/ic.cz/s/sleduj-serialy/root/www/
ale pochybuju že se na práva toho adresáře v ic.cz ftp dostaneš
Rafan
Profil
Aha a kde si ty práva můžu nastavit když na na ic.cz ?
G3n3sis19
Profil
nejlepší by bylo si takovéhle testování dělat usebe na počítači, doporučuju použít wamp nebo xampp...
TomasJ
Profil
G3n3sis19:
ty práva musíš nastavit adresáři /home/free/ic.cz/s/sleduj-serialy/root/www/
Ale ne, nemusíš.

Rafan:
Pokud chceš soubor jen vytvořit, udělej to takto:
<?php
$fileName = "somefile.txt";
$newFile = fopen($fileName,"w");
fclose($newFile);
?>
G3n3sis19
Profil
ale pokud nemá práva na tu složku, těžko bude tvořit soubor
ikdyyž pravda, v root adresáři ic by to mělo mít alespon 666
TomasJ
Profil
G3n3sis19:
Složka root/www/ je pro uživatele složkou root, prostě složkou, ve které už se nachází obsah webu.
Pokud nejdou vytvářet soubory ani v uživatelově kořenové složce, pak se musí obrátit na podporu, ale ta jaksi na uživatele kašle a ani neodepisuje.
G3n3sis19
Profil
to já ale vím.
Rafan
Profil
Tak jsem jim napsal tak uvidím. Zatim díky za rady.

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