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í.
discount week 30 halloween
Avatar
gorri
Člen
Avatar
gorri:27.3.2019 11:24

Ahoj všem zkušenějším.
Zkouším zkopírovat soubor na jinou doménu (FTP přístup mám) ale z nějakého důvodu se mi to nedaří. Nějak už nevím, kde by mohla být chyba. Díval jsem se i tady a mělo by to fungovat. Kouknul by prosím někdo a nakopnul mě prosím správným směrem? Děkuji moc :-)

$server = Db::querySingle('SELECT server FROM web WHERE url=?', $_SESSION['url']);
$conn = ftp_connect(server) or die("Není možné se připojit k $server");
$login = ftp_login($conn, Db::querySingle('SELECT uzivatel FROM web WHERE url=?', $_SESSION['url']), Db::querySingle('SELECT heslo FROM web WHERE url=?', $_SESSION['url']));

$file = "soubor.php";


if (ftp_put($conn, "../absolutnicestaksouboru/", $file, FTP_ASCII))
  {
  echo '<script>';
echo 'alert("Soubor úspěšně nahrán.")';
echo '</script>';
  }
else
  {
  echo "<alert>Soubor se nepodařilo nahrát $file</alert>";
  }

Děkuji případně za trpělivost :-)

Zkusil jsem: Google, ITnetwork, php.net

Chci docílit: Ahoj všem zkušenějším.
Zkouším zkopírovat soubor na jinou doménu (FTP přístup mám) ale z nějakého důvodu se mi to nedaří. Nějak už nevím, kde by mohla být chyba. Díval jsem se i tady a mělo by to fungovat. Kouknul by prosím někdo a nakopnul mě prosím správným směrem? Děkuji moc :-)

$server = Db::querySingle('SELECT server FROM web WHERE url=?', $_SESSION['url']);
$conn = ftp_connect(server) or die("Není možné se připojit k $server");
$login = ftp_login($conn, Db::querySingle('SELECT uzivatel FROM web WHERE url=?', $_SESSION['url']), Db::querySingle('SELECT heslo FROM web WHERE url=?', $_SESSION['url']));

$file = "soubor.php";


if (ftp_put($conn, "../absolutnicestaksouboru/", $file, FTP_ASCII))
  {
  echo '<script>';
echo 'alert("Soubor úspěšně nahrán.")';
echo '</script>';
  }
else
  {
  echo "<alert>Soubor se nepodařilo nahrát $file</alert>";
  }

Děkuji případně za trpělivost :-)

Odpovědět
27.3.2019 11:24
Když vím, tak poradím. Nikdo neví všechno :-)
Avatar
gorri
Člen
Avatar
gorri:27.3.2019 11:40

Tak už jsem na to přišel. Případně řešení je tady

$server = Db::querySingle('SELECT server FROM web WHERE url=?', $_SESSION['url']);
$conn = ftp_connect($server) or die("Není možné se připojit k $server");
$login = ftp_login($conn, Db::querySingle('SELECT uzivatel FROM web WHERE url=?', $_SESSION['url']), Db::querySingle('SELECT heslo FROM web WHERE url=?', $_SESSION['url']));

$file = "cesta k souboru";
// upload file
if (ftp_put($conn, "kamsemasoubornahrat(domena)/nazevsouboru", $file, FTP_ASCII))
  {
  echo '<script>';
echo 'alert("Soubor úspěšně nahrán.")';
echo '</script>';
}
Nahoru Odpovědět
27.3.2019 11:40
Když vím, tak poradím. Nikdo neví všechno :-)
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:27.3.2019 12:41

A taky muzes rici, v cem byl problem. Tusim, ze jsi zadal spatne cesty. Ale, tak ono to neni z dokumentace take prilis jasne

php.net/ftp_put
<?php
$path_from = 'somefile.txt';
$path_to   = 'readme.txt';
// conn open
$ftp_conn     = ftp_connect($ftp_server);
$login_result = ftp_login($ftp_conn, $ftp_user_name, $ftp_user_pass); // login
// upload a file
if (ftp_put($ftp_conn, $path_to, $path_from, FTP_ASCII)) {
 echo "successfully uploaded $path_from\n";
} else {
 echo "There was a problem while uploading $path_from\n";
}
// connection close
ftp_close(ftp_conn);
?>

Pripadne by slo overit si existenci souboru file_exists($pat­h_from) nez otevres zbytecne ftp pripojeni.

Editováno 27.3.2019 12:41
 
Nahoru Odpovědět
27.3.2019 12:41
Avatar
gorri
Člen
Avatar
Odpovídá na Peter Mlich
gorri:27.3.2019 14:04

Omlouvám se. Řádek 7 (v ukázce). Měl jsem špatně definovanou cestu kam se má soubor nahrát.

if (ftp_put($conn, "domena.cz/nazevsouboru", $file, FTP_ASCII))

Napsal jsem tam jen název souboru. Nějak mě to nenapadlo.
Jinak díky za poznámku. Ověřit jestli je soubor na serveru by nebyl špatný nápad. V mém případě vím, že tam není na 100%, takže nepotřebuji. Ale když někdo bude chtít, tak si to tam může dopsat.

Editováno 27.3.2019 14:07
Nahoru Odpovědět
27.3.2019 14:04
Když vím, tak poradím. Nikdo neví všechno :-)
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 4 zpráv z 4.