#php #amazon-s3
#php #amazon-s3
Вопрос:
Я загружаю PDF-файл с S3, используя приведенный ниже код:
try {
$object = $s3->getObject(array(
'Bucket' => $bucket,
'Key' => $keyname
));
header('Content-Description: File Transfer');
header("Content-Encoding: none");
header('Content-Disposition: attachment; filename='.$keyname);
header('Expires: 0');
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header('Pragma: public');
header("Content-Type: {$object['ContentType']}");
echo $object['Body'];
//Code to be executed after downloading the file
echo "test";
$orig = "C:\orig\".$keyname;
$dest = "C:\dest\".$keyname;
rename($orig, $dest);
} catch (Exception $e) {
echo "Exception " . $e->getMessage();
}
Проблема здесь в том, что я хочу переместить этот файл из папки загрузок по умолчанию в другую, но похоже, что скрипт не работает после установки заголовков, я перепробовал много решений, предложенных ранее в подобных проблемах, но все потерпели неудачу, когда я выполняю этот скрипт, файл загружается успешно, ноЯ не вижу «тест» в браузере, и файл не перемещается.
Спасибо за вашу помощь.
Комментарии:
1. Вы видите какой-либо вывод для
echo $object['Body'];
?2. В загруженном файле, да, но echo ‘test’ не отображается в браузере, на самом деле, в браузере ничего не отображается, но файл успешно загружен, и я могу просмотреть его из папки downloads. Спасибо.
Ответ №1:
Вы пробовали использовать php-функцию file_put_contents ? вы можете поместить содержимое, которое вы получаете напрямую, в файл