【发布时间】:2015-06-26 10:36:59
【问题描述】:
我正在为物业租赁代理(房地产)构建一个 WordPress 网站,该网站链接到他们的物业管理系统 (LetMC)。
LetMC通过URL提供PDF房产小册子,例如(忽略小册子内容,待设计):
我已经建立了一个很好的系统来通过 AJAX 使用灯箱显示房产照片、宣传册和位置,所以我不想自动下载 PDF。目前我正在将 PDF 保存到临时文件夹并直接从站点 Web 服务器打开它,但理想情况下我想避免保存 PDF....
这可能吗??
当前进度:
/**
* Lightbox Brochure
*
* Return property brochure to be viewed in a lightbox
*/
public static function lightbox_brochure() {
$letmc_brochure_url = $_REQUEST['dataurl'];
if ( isset( $letmc_brochure_url ) ) {
$filename = generateRandomString() . '.pdf';
$upload_dir = wp_upload_dir();
if ( wp_mkdir_p($upload_dir['basedir']) ) {
$file = $upload_dir['basedir'] . '/letmc_uploads/temp/' . $filename;
}
/**
* Store in the temp filesystem
*/
$ch = curl_init($letmc_brochure_url);
$fp = fopen($file, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
$Result = curl_exec($ch);
curl_close($ch);
fclose($fp);
$output = '';
$output .= '<div class="lightbox"><iframe src="' . $upload_dir['baseurl'] . '/letmc_uploads/temp/' . $filename . '" width="97%" height="550"></iframe><button title="Close (Esc)" type="button" class="controls mod-close mfp-close"><i class="icon icon-close"></i></button></div>';
echo $output;
} else {
echo '<p>Sorry, no brochure available.</p>';
}
die();
}
【问题讨论】:
-
您想在您的网站内在线查看 pdf 吗?
-
@GiancarloColfer 理想情况下在灯箱内,所以我需要 iframe src 的文件名。当前系统有效……但它是最佳做法吗?另外,我不完全确定如何处理临时文件夹....我想在查看 PDF 后删除它,或者设置一个 cron 作业以每天清空一次文件夹