Mam problem ze skryptym, który ma posłużyć do przeniesienia plików z jednego serwera na drugi. Konkretnie chodzi o pliki w formacie JPEG, bo tylko takie ma przenosić. Skrypt łączy się z pierwszym serwerem i odpowiednia pętla wyłapuje odpowiednie nazwy plików na serwerze. W pętli tej jest warunek, bo dla każdego zdjęcia musi istnieć miniaturka o takiej samej nazwie w folderze podrzędnym "thumb". Oba te pliki mają zostać przeniesione na drugi serwer ze zmienionymi nazwami w postaci kolejnych liczb. Problem ze skryptem jest taki, że w pierwszej wersji wykonywał się szybko, ale nie zawsze wgrywał wszystkie pliki. Teraz postanowiłem tak długo kazać mu wgrywać, aż wgra plik, ale za to skrypt się wiesza (chociaż kilka razy zrobił to co miał zrobić). Znacie przyczynę? Zaznaczam, że połączenie z bazą danych jak i serwerami nie wywala błędu.
<?php
// POLACZENIE Z BAZA DANYCH
include_once('config.php');
include_once('template.inc.php');
$tmpl = new Template('template.tpl');
$content = '';
// UPLOAD
$ftp_server = 'ftp.serwer.pl';
$ftp_user_name = 'uzytkownik';
$ftp_user_pass = 'haslo';
$conn_id = ftp_connect($ftp_server);
$login_result = @ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if ((!$conn_id) || (!$login_result)) {
$content .= 'Brak poł±czenia z serwerem FTP.';
} else {
$files = 0;
$file_list = ftp_nlist($conn_id, "*.jpg");
foreach ($file_list as $img)
{
$mdtm = ftp_mdtm($conn_id, "thumb/$img");
if ($mdtm != -1) {
$query = 'SELECT MAX(id) FROM images';
$max = $result[0];
$max++;
$max++;
}
$main_server = 'ftp.serwer.pl';
$main_user_name = 'uzytkownik';
$main_user_pass = 'haslo';
$main_id = @ftp_connect($main_server);
$main_result = @ftp_login($main_id, $main_user_name, $main_user_pass);
@ftp_get($conn_id, "$img", "$img", FTP_BINARY);
}
@ftp_put($main_id, "images/$max.jpg", "$img", FTP_BINARY);
}
}
@ftp_get($conn_id, "m$img", "thumb/$img", FTP_BINARY);
}
while (file_exists("../images/thumb/$max.jpg") == FALSE) { @ftp_put($main_id, "images/thumb/$max.jpg", "m$img", FTP_BINARY);
}
}
}
}
}
$content .= 'Wszystkie pliki zostały wgrane na serwer.';
// KONIEC
$topic = 'Wgranie plików z serwera FTP';
//
$tmpl->add('CONTENT' , $content);
$tmpl->add('TOPIC' , $topic);
$tmpl->add('TIME' , $time);
?>