To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

HTML/PHP/AJAX/JS - Problem ze skryptem php

moonster - 17-12-2013, 18:19
Temat postu: Problem ze skryptem php
Mam problem ze skryptem, który służy do przesyłania plików z serwera na serwer. Przesyłanie działa ale pliki zamiast przenosić się do katalogu w którym jest skrypt ładują się do głównego serwera docelowego.
Kod:
<?php
// --- Ustawienia serwera FTP ---
$ftp_server = "";
$ftp_login = "";
$ftp_haslo = "";
$dir = ""; // dokładny adres folderu w którym znajdują się demka
// --- Ustawienia serwera FTP ---

$conn_id = ftp_connect ($ftp_server)
or die("Brak odpowiedzi z serwera $ftp_server");

$login_result = ftp_login($conn_id, $ftp_login, $ftp_haslo);
if ((!$conn_id) || (!$login_result))
die("FTP Connection Failed");

ftp_sync ($dir);

ftp_close($conn_id);

function ftp_sync ($dir) {

global $conn_id;

if ($dir != ".") {
if (ftp_chdir($conn_id, $dir) == false) {
echo ("Change Dir Failed: $dir
rn");
return;
}
if (!(is_dir($dir)))

$contents = ftp_nlist($conn_id, "*.dem");
foreach ($contents as $file) {

if ($file == '.' || $file == '..')
continue;

if (@ftp_chdir($conn_id, $file)) {
ftp_chdir ($conn_id, "..");
ftp_sync ($file);
}
else
ftp_get($conn_id, $file, $file, FTP_BINARY);
}

ftp_chdir ($conn_id, "..");
chdir ("..");

}
}
?>

Woytec - 17-12-2013, 19:27

Ten warunek jest niedokończony:
Kod:
if (!(is_dir($dir)))

Oczywiście ustawiłeś $dir?

moonster - 17-12-2013, 20:19

Programowanie nie jest moją mocną stroną, dlatego zwróciłem się o pomoc, warunek sprawdza czy plik jest katalogiem, jeśli tak to go pomija. To mam mu poprzez zmienną wskazać katalog ?
Woytec - 18-12-2013, 16:03

moonster napisał/a:
warunek sprawdza czy plik jest katalogiem, jeśli tak to go pomija.

A oznaczyłeś klamrą co ma wykonać jeżeli warunek zostanie spełniony?
moonster napisał/a:
To mam mu poprzez zmienną wskazać katalog

Masz na początku
Kod:
$dir = ""; // dokładny adres folderu w którym znajdują się demka

Uzupełniłeś?

moonster - 18-12-2013, 16:15

Jeśli chodzi o
Kod:
$dir = ""; // dokładny adres folderu w którym znajdują się demka

Oczywiście że w skrypcie na serwerze to mam, to jest adres skąd pobiera te demka.
Pierwszą część skryptu ze względu na lokalizacje i hasło zmieniłem dając kod tutaj.

Woytec - 18-12-2013, 18:49

Skrypt prawdopodobnie kopiuje do katalogu, w którym znajduje się plik z tym skryptem. Zmień poniższy
Kod:
ftp_get($conn_id, $file, $file, FTP_BINARY);

na
Kod:
ftp_get($conn_id, 'katalog/'.$file, $file, FTP_BINARY);

moonster - 20-12-2013, 16:34

Dzięki, zadziałało tylko ścieżka musiała być pełna.
Jest jeszcze jeden problem, przesyła tylko kilka plików 3 - 4 w zależności od ich wagi.
Na hostingu nie mam limitu transferu, na moją prośbę sprawdzili i twierdzą że jest wszystko w porządku.
Zadanie Cron ustawione.
Nie mam pojęcia co jest na rzeczy.

Woytec - 20-12-2013, 16:53

Przeczytaj komentarze w dokumentacji, są tam podane jakieś rozwiązania, np. wykorzystanie ostatniego parametru.
moonster - 20-12-2013, 17:03

Od wczoraj siedzę na tych komentarzach ;) dzięki za pomoc, punkt dodany.
Temat można zamknąć.



Powered by phpBB modified by Przemo © 2003 phpBB Group