Я генерирую файл .csv из запроса MySQL, и файл правильно сохраняется на локальном сервере, где находится запрос на создание. Следующим шагом будет взять этот новый файл и загрузить его в другое место FTP (совершенно другой сервер). Я попробовал почти все, но я все еще не могу заставить работать ftp_put.
Вот часть моего кода в вопросе:
//Creating the file
$file = fopen(dirname(__FILE__) . "/local_export.csv","w");
$csv_line = array("item1","item2");
fputcsv($file,$csv_line);
fclose($file);
$ftp_server = "00.000.000.00";
$ftp_user_name = "myusername";
$ftp_user_pass = "mypassword";
$file = dirname(__FILE__) . "/local_export.csv";
$remote_file = "remote_export.csv";
// set up basic connection
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
ftp_pasv($conn_id, true);
// login with username and password
if (ftp_login($conn_id, $ftp_user_name, $ftp_user_pass)) {
echo "Connected as $ftp_user_name@$ftp_server\n";
} else {
echo "Couldn't connect as $ftp_user_name\n";
}
echo "Current directory: " . ftp_pwd($conn_id) . "\n";
// change the current directory
if (ftp_chdir($conn_id, "transfer")) {
echo "Current directory is now: " . ftp_pwd($conn_id) . "\n";
} else {
echo "Couldn't change directory\n";
}
// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
echo "successfully uploaded $file\n";
} else {
echo "There was a problem while uploading $file\n";
}
// close the connection
ftp_close($conn_id);
С точки зрения расположения двух файлов, локальный файл находится в:
http://subdomain.domain/folder/local_export.csv
Пока удаленный файл будет помещаться в корневую папку / папку сервера (которая также является единственной, к которой у меня есть доступ).
Мне кажется, что все в порядке, но все же код генерирует только локальный файл, всегда не сохраняя его в удаленном месте. Я довольно новичок в перемещении файлов, поэтому заранее извиняюсь, если решение у меня перед глазами, но я его не вижу!
Заранее большое спасибо за вашу помощь.
РЕДАКТИРОВАТЬ: как указано в комментариях ниже, я должен был проверить, успешно ли установлено соединение с сервером. Я сделал эти проверки. Возврат соединения успешен (я также пытался самостоятельно через Filezilla убедиться, что учетная запись, которую мне дали, может быть загружена в это место, и это так). Так что я думаю, что я вернулся на круги своя.
Задача ещё не решена.
Других решений пока нет …