NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: zápis scriptem do souboru na serveru

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
maxijoey
Člen
Avatar
maxijoey:14.12.2017 17:37

Ahoj lidi. Mám na serveru soubor do kterých potřebuju zapisovat. Na ten zápis mám vytvořenej script kterej mi běží na serveru v tasku. Jenže on plive chybu: failed to open stream: No such file or directory in ... což mě celkem zaráží, jelikož když uplně stejnej script spustim z webu z jinýho pc přes prohlížeč tak vše proběhne jak má i se zápisy. Nepotkal jste to někdo? Nevíte kudy kam? Dík

 
Odpovědět
14.12.2017 17:37
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na maxijoey
Jan Lupčík:14.12.2017 18:06

Má ten soubor/složka, kam chceš zapisovat, potřebná oprávnění?

Nahoru Odpovědět
14.12.2017 18:06
TruckersMP vývojář
Avatar
maxijoey
Člen
Avatar
Odpovídá na Jan Lupčík
maxijoey:14.12.2017 18:14

No je umístěn přímo na serveru, kde je i ten script co do něj má psát. A jelikož při spuštění scriptu z prohlížeče jiného kompu je vše ok tak jsem oprávnění nějak nekoumal.

 
Nahoru Odpovědět
14.12.2017 18:14
Avatar
maxijoey
Člen
Avatar
maxijoey:15.12.2017 9:13

Ještě doplním k tomu zápisu používám toto:

$soubor = fopen("./cilo­vaslozka/$nazev"­.".xml", "w");

fwrite($soubor, $out->outputMemory(TRU­E));
fclose($soubor);

 
Nahoru Odpovědět
15.12.2017 9:13
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na maxijoey
Jakub Žák:16.12.2017 9:26

Tak sem dej aspoň kódy.

Nahoru Odpovědět
16.12.2017 9:26
Kuba je ajťák. Buď jako Kuba.
Avatar
maxijoey
Člen
Avatar
Odpovídá na Jakub Žák
maxijoey:16.12.2017 9:41

Kod kterým zapisuju je výše. Zbytek kodu je tvorba toho co se má zapisovat a v tom problém není. Data data k zápisu se generují dobře. To co se zapisuje je v objektu $out. A i kdyby tam nic nebylo tak pokud vím by se měl vytvořit alespon prázdný soubor.

 
Nahoru Odpovědět
16.12.2017 9:41
Avatar
maxijoey
Člen
Avatar
maxijoey:16.12.2017 9:43

A jak jsem říkal, on zapisuje a správně pokud script spustím z chromu třeba z jiného pc přes adresu. To je vše ok. Ale ten script mi taky co hodinu běží přímo na serveru. Umístění scriptu je totožné i všeho ostatního a proběhne vše jen ne ten zápis, ten vyhodí tu chybu. Server běží na windows server 2008

 
Nahoru Odpovědět
16.12.2017 9:43
Avatar
maxijoey
Člen
Avatar
maxijoey:16.12.2017 9:47

Celá ta chybová hláška vypadá takhle: fopen(./cilovas­lozka/export.xml): failed to open stream: No such file or directory in C:\inetpub\wwwro­ot\exportXml.php on line 232

 
Nahoru Odpovědět
16.12.2017 9:47
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na maxijoey
Jan Lupčík:16.12.2017 12:53

Buď daná složka neexistuje, nebo nemáš potřebná práva k vytvoření/zápisu do daného souboru.

Nahoru Odpovědět
16.12.2017 12:53
TruckersMP vývojář
Avatar
maxijoey
Člen
Avatar
Odpovídá na Jan Lupčík
maxijoey:16.12.2017 13:16

Složka existuje. Pujdu po těch právech, ale zdá se mi to jako blbost. Ono když to v jednom případě zapíše spuštěné odjinud a pak spuštěné přímo z dané mašiny ne, zdá se mi to divný.

 
Nahoru Odpovědět
16.12.2017 13:16
Avatar
maxijoey
Člen
Avatar
maxijoey:16.12.2017 13:17

Spíš mě napadá jelikož to běží i v tasku, tam to zlobí, nepotřebuje ten task, sám o sobě práva k zápisu?

 
Nahoru Odpovědět
16.12.2017 13:17
Avatar
maxijoey
Člen
Avatar
maxijoey:16.12.2017 15:39

Vyřešeno.
Script byl v jedné složce další scripty co potřeboval v jiné a výsledný zapisovaný soubor také. Což při relativních cestách když se spouštělo z prohlížeče nevadilo. Ale v tasku jsem měl určenou absolutní cestu ke scriptu a tam to vázlo pak. Chvílema se to nacházelo jinde než mělo ve složkách takový to ukazovátko :-)

 
Nahoru Odpovědět
16.12.2017 15:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.