Я запускаю python на одном сервере и хочу загрузить некоторые файлы на второй сервер. Когда я запускаю сценарий python, файлы не перемещаются на второй сервер.
Код Python для скрипта на первом сервере:
url = 'https://www.example.com/incoming.php'
for x in list:
if os.path.exists(x):
filename = os.path.abspath(x) #get the full path of a file
new_name = filename.replace('/', '_') #replace the / with _
new_name_zip = new_name + '.zip'
shutil.copy(x, new_name) #copy the file and give it a new name
zippy = zipfile.ZipFile(new_name_zip, 'w', zipfile.ZIP_DEFLATED)
zippy.write(new_name)
os.remove(new_name) #remove the unzipped file
uploadFile = {'uploadFile': (new_name_zip, open(new_name_zip, 'rb'))}
r = requests.post(url, files=uploadFile)
print (r.status_code)
print (r.reason)
Код для входящего. php на втором сервере:
$name=$_FILES['uploadFile']['name'];
$size=$_FILES['uploadFile']['size'];
$type=$_FILES['uploadFile']['type'];
$tmp_name=$_FILES['uploadFile']['tmp_name'];
$error=$_FILES['uploadFile']['error'];
$location='uploads/';
if(move_uploaded_file($tmp_name, $location.$name)) {
$myfile = fopen("newfile.txt", "w");
$txt = "Success\n";
fwrite($myfile, $txt);
fclose($myfile);
}
?>
Вся структура каталогов и все файлы на втором сервере принадлежат www-data. Код ответа, который я получаю при запуске сценария на первом сервере, - «500 Internal Server Error». Я использую Python 2.7 в Ubuntu 18.04 на первом сервере и стек LAMP в Ubuntu 18.04 на втором сервере.