IO\SafeStream
- stpnkcrk
- Generous Backer | 190
Pokouším se rozjet práci se soubory za pomoci safe://
, ale
nedaří se mi to. Dokážete mi někdo poradit, v čem je chyba?
Pomocí file_get_contents načítám obsah souboru do proměnné a tu potom
vypisuju přes Debug::dump()
. Bez safe://
to vypíše
obsah, se safe://
jen FALSE
.
<?php
$promenna = file_get_contents('safe://home/www/.../soubor.txt'); // za ... si představte absolutní cestu k souboru
Debug::dump($promenna);
?>
- kravčo
- Člen | 721
Zrejme nemáš protokol safe zaregistrovaný, treba ho pred použitím zaregistrovať:
SafeStream::register();
Ono FALSE
značí zlyhanie file_get_contents()
,
zrejme nenájdený súbor. jednoduchý príklad čo sa deje pri
nezaregistrovaní:
<?php
// predpokladám UNIXový filesystém a na ňom dva súbory:
// ./file.txt
// ./safe:/file.txt
// (znak : nie je platný v názove súboru na Windowse)
require 'Nette/loader.php';
$content = file_get_contents('safe://file.txt');
Debug::dump($content); // vypíše obsah ./safe:/file.txt
echo "<hr />\n";
SafeStream::register();
$content = file_get_contents('safe://file.txt');
Debug::dump($content); // vypíše obsah ./file.txt
Zaujímavý feature PHP, bezpochyby :)
Edit: feature, ktorý ale vygeneruje notice… (predtým mi zmizol v neotvorenom okne Firebugu)
Editoval kravco (13. 1. 2009 23:55)
- romansklenar
- Člen | 655
Já bych se chtěl zeptat, jestli mi uniká nějaká souvislost proč jsou
metody v Nette\IO\SafeStream
pojmenovávány jako small_caps
, když se v celém frameworku
používá camelCaps
?
- Jan Tvrdík
- Nette guru | 2595
romansklenar napsal(a):
Já bych se chtěl zeptat, jestli mi uniká nějaká souvislost proč jsou metody v Nette\IO\SafeStream pojmenovávány jako
small_caps
, když se v celém frameworku používácamelCaps
?
Ano, uniká ti souvislost. Je to proto, aby fungovalo tohle: http://cz2.php.net/…per_register