php - 如何避免滥用图像预览流量?

标签 php image preview

Facebook 和 Google+ 都有一个很棒的功能:图片预览。当您在您的网站的 URL 中写入时,会拍摄图像,您可以在它们之间进行选择 - 这是通过代理脚本完成的。

我的问题是 - 有没有一种方法可以重现相同的行为,但可以防止用户插入指向应该是 HTML 文件的大文件的链接?代理脚本可能看起来像这样

<?php
$contents = file_get_contents($_GET['url']); //problem is on this line - When $_GET['url'] is url to 5GB file, it will try to download it - How could I prevent it?
$images = preg_match_all('~img src="(.*?)"~', $contents, $images);
if ($images){
    echo json_encode($images[1]);
else 
    die('[]');

最佳答案

使用cURL (或一些传真)并首先获取 HEAD 请求。这将提供 Content-Length在尝试检索全部内容之前, header 会告诉您 URL 的最终结果(以字节为单位)。

关于php - 如何避免滥用图像预览流量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7068026/

相关文章:

css - 容器内可扩展和可交换的图像

jquery - 如何向此 jquery 脚本添加图像预览?

ms-office - 可以创建 MS Office 文件的缩略图吗?

javascript - 如何制作一个在用户页面(他是管理员)上安装页面选项卡的 Facebook 应用程序?

php - Laravel:如何在具有引用表的两个表之间建立关系

javascript - 如何将 JSON Parse 对象属性转换为数组?

php - 文件读取到 DB 插入导致 unicode 字符串

javascript - 如何使用 javascript 从图像中获取平均颜色或主颜色?

css - 宽度为 100% 的 svg 图像并不总是 100% 宽

c# - 写入Windows 7 "preview"窗口区域