Один из подходов к решению этой проблемы заключается в вызове API по двум отдельным запросам: один раз, чтобы получить список, и другой, чтобы загрузить файл.
Если ваша страница листинга заканчивается, как показано ниже, она покажетвложения и щелкнув ссылку, откроет вложение на новой вкладке и загрузит файл
// include this at the top of your file before any other HTML is rendered.
if (isset($_GET['file')) {
// assuming $data will contain some reference to the filename now stored in $_GET['file']
echo call($client,'get_attachment',$data);
return;
}
// assuming $attachments contains the list of the files
foreach ($attachments as $id => $fileName){
echo "<a href='thisPage.php?file=" . $fileName . "'>" . $fileName . "</a>";
}
Таким образом, ваша ссылка в конечном итоге ссылается на ту же страницу, а не отображает какой-либо HTML-код, когда кто-то щелкает ссылкувверху вашего скрипта вы должны были бы сделать вызов API, чтобы получить содержимое файла, а затем завершить скрипт (либо return
, либо exit
сделает свое дело) - при условии, что вы можете вызвать содержимое файла по его имени файла.
Возможно, вам потребуется передать больше, чем имя файла, может быть, идентификатор?Все, что вам нужно для вызова API для вложения, вы можете перейти по ссылке.