Autor Zpráva
Yuff.3
Profil
Ahojte,
potreboval by som sa dostať k súboru z ftp (s koncovkou .dat) takým spôsobom, aby som ho celý tak ako je načítal do premennej.
Resp. keď sa súbor nachádza v zložke kde aj web - viem sa k nemu dostať asi takto: $asd = new asdfasdf('xxx.dat'); alebo si ten súbor dám do premennej $pokus = "xxx.dat"; a zapíšem to len takto: $asd = new asdfasdf($pokus); - funguje to.
pokiaľ sa však chcem dostať k súboru ktorý je uložený na FTP - nastáva problém (asi ho neviem správne otvoriť)
$ftp_server = "XXX";
$ftp_user = "XXX";
$ftp_pass = "XXX";
$cesta = "ftp://$ftp_user:$ftp_pass@$ftp_server:21/cesta/xxx.dat";

$myfile = fopen("$cesta", "r") or die("Nie je možné otvoriť!");
$asd = new asdfasdf($myfile);
fclose($myfile);

zle použitá funkcia fopen?
nájde sa tu niekto kto mi ju vysvetlí?

moc ďakujem.
juriad
Profil
Konstruktor asdfasdf nejspíš chce název souboru a nikoli ukazatel na soubor.
Je asdfasdf tvá, smíš ji upravit?
Pokud ano, můžeš změnit chování tak, že vždy bude chtít otevřený soubor (a vždy tedy budeš muset provádět fopen),
nebo ho můžeš otevírat podle datového typu argumentu.
Pokud tu třídu nemůžeš upravit, nezbyte ti nic jiného než ten soubor stáhnout, následně s ním pracovat a na konci jej smazat.
Yuff.3
Profil
juriad:
Konstruktor asdfasdf nejspíš chce název souboru a nikoli ukazatel na soubor.
áno, to je asi pravda. jak mu mám teda predať ten názov tak, aby to pochopil a začal pracovať??

Je asdfasdf tvá, smíš ji upravit?
bohužiaľ nie - resp. upraviť by sa to možno dalo, ale také skúsenosti nemám - netrúfam si na to.
Určite existuje priaznivejšie riešenie..

nebo ho můžeš otevírat podle datového typu argumentu.
to je ako?

Pokud tu třídu nemůžeš upravit, nezbyte ti nic jiného než ten soubor stáhnout, následně s ním pracovat a na konci jej smazat.
to nie je moc vyhovujúce riešenie. či?
Zostáva mi asi len zistiť ako pracuje tá trieda (konštruktor) a následne tomu prispôsobiť aj môj kód.
Tomáš123
Profil
juriad:
A nešlo by to pomocou obyčajného file_get_contents?
juriad
Profil
Tomáš123:
Tím ten soubor stáhneš. Chce-li však konstruktor asdfasdf jméno souboru, musíš mu dát jméno souboru, nikoli obsah souboru.

„nebo ho můžeš otevírat podle datového typu argumentu.“
to je ako?
To byla alternativa pro případ, že ten kontruktor můžeš upravit.
Yuff.3
Profil
Moja chyba - vlastne stačilo v #1 $asd = new asdfasdf($cesta);
ĎAKUJEM
Yuff.3
Profil
Dovolím si ešte otázočku - k bezpečnosti.
povecme, že to používam takto:
$ftp_server = "XXX";
$ftp_user = "XXX";
$ftp_pass = "XXX";
$cesta = "ftp://$ftp_user:$ftp_pass@$ftp_server:21/cesta/xxx.dat";
$asd = new asdfasdf($myfile);
je tam treba dať aj "fclose($myfile);" keď nevstupujem do súboru cez fopen ani žiadno ináč? Alebo jak ten kód treba upraviť?
Používam to len tak ako som napísal no a k premenným pristupujem potom cez htmlentities a htmlspecialchars - (aký je medzi nimi vlastne rozdiel?)
Ďakujem za objasnenie.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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