Využij akce až 30 % zdarma při nákupu e-learningu. Více informací. Zároveň je tento týden sleva až 80 % na e-learning týkající se C# .NET
Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
Avatar
gorri
Člen
Avatar
gorri:3.12.2019 14:00

Zdravím opět zkušenější.
Zkouším uložit do DB informace ze souboru, které mám na webu. Vím, že se k němu musím připojit, což se mi povedlo, soubor tam musí být, což je ale nedaří se mi data ze souboru uložit do DB. Zkouším do formou fopen('soubor', 'r') ale také ne.
Věděl by někdo kde mám případně chybu? Případně jestli na to nejdu úplně špatně?
Zde je kód :-)

$server = Db::querySingle('SELECT server_ftp FROM web WHERE url=?', $e['url']);
        $conn = ftp_connect($server) or die('Není možné se připojit k '.$e['url'].'');
        $login = ftp_login($conn, Db::querySingle('SELECT uzivatel_ftp FROM web WHERE url=?', $e['url']), Db::querySingle('SELECT heslo_ftp FROM web WHERE url=?', $e['url']));
        if($login)
        {
            $a = Db::query('INSERT INTO data (info) VALUES (?)', fopen($login,str_replace('www.', '', $e['url']).'/product-store.txt', "r"));
            if($a)
            {
                echo 'Uloženo do DB';
            }
        }
        var_dump(fopen($login,str_replace('www.', '', $e['url']).'/product-store.txt', "r"));
        break;

Moc děkuji kdyžtak :-)

Zkusil jsem: file_get_content, php.net, stackoverflow, google, itnetwork

Chci docílit: Uložit data ze souboru do DB

Odpovědět
3.12.2019 14:00
Když vím, tak poradím. Nikdo neví všechno :-)
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:9.12.2019 7:39
echo file_get_content($relative_path);
echo file_get_content($url);

Bud pouzijes relativni cestu nebo url. Musi to vypsat soubor na obrazovku. Zkus si to nejdriv na localhostu. Pokud to nevypise, tak nekde na serveru mas zakazany pristup k tomu souboru. Je mozne tam nastavovat prava rwx-rwx-rwx (mozna i na slozce) nebo globalne zablokovat, ze z jine domeny soubor nedostanes, pokud ti ho neposle nejaky php program, treba (coz se ted dela dost casto, kvuli hackerum).
Bezne se nastavuji prava 0644, maximalni jsou 0777, ale to nedoporucuji, to dovolis tomu souboru, ze se smi spustit na serveru (kdyby to byl exe, mohl by to byt i virus a to nejspis nechces)

 
Nahoru Odpovědět
9.12.2019 7:39
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:9.12.2019 7:44

A jinak tedy, nejsem si uplne jisty, zda by tvuj kod fungoval. Data ze souboru musis nejakym zpusobem parsovat.

$a = Db::query('INSERT INTO data (info) VALUES (?)', 'string s odradkovanim \n')

To asi nevyrobi sql prikaz. Asi to potrebujes nacist, rozparsovat podle '\n' a mozna jeste jinak zpracovat. (budu delat neco podobneho, tak za mesic, tak to budu muset prostudovat..., ale ted ti neporadim :) )

 
Nahoru Odpovědět
9.12.2019 7:44
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
gorri
Člen
Avatar
Odpovídá na Peter Mlich
gorri:9.12.2019 10:31

Děkuji za info. Takže ho musím tak jako tak stáhnout k sobě a u sebe ho pak můžu přepsat do DB. Bez toho to nepůjde. Jinak co se týká parsování, tak to mám vyřešené. Jen jsem to tam nenapsal. Nicméně i tak to už nepotřebuji. Potřeboval jsem to jednorázově, protože by mi to ulehčilo den práce. Nedařilo se mi to zprovoznit, tak jsem to udělal ručně. Ale i tak díky za informaci :-)

Nahoru Odpovědět
9.12.2019 10:31
Když vím, tak poradím. Nikdo neví všechno :-)
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:9.12.2019 16:01

Proc to programovat, pokud to nepotrebujes do produktu? Phpmyadmin umi importy.

 
Nahoru Odpovědět
9.12.2019 16:01
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 5 zpráv z 5.