没有javascript的PHP getimagesize()替代方案?

没有javascript的PHP getimagesize()替代方案?,php,image,size,Php,Image,Size,假设我有一个图像的URL,并且在服务器配置中禁用了URL文件访问,而这不是我可以(或不想)更改的,有没有一种简单的方法可以使用PHP获得它的高度/宽度? 如果可能的话,我宁愿不使用javascript。嗯,那么您将通过网络将图像拉入您的PHP应用程序“查找”大小,然后可能会发出一个带有大小的HTML img take?对我来说似乎有点奇怪。为了检查远程图像,您必须以某种方式请求它。你不能确定你看不见的东西的属性。如果PHP安装中禁用了远程文件访问,则可能需要将其转出到系统级进程,如wget、cU

假设我有一个图像的URL,并且在服务器配置中禁用了URL文件访问,而这不是我可以(或不想)更改的,有没有一种简单的方法可以使用PHP获得它的高度/宽度?
如果可能的话,我宁愿不使用javascript。

嗯,那么您将通过网络将图像拉入您的PHP应用程序“查找”大小,然后可能会发出一个带有大小的HTML img take?对我来说似乎有点奇怪。

为了检查远程图像,您必须以某种方式请求它。你不能确定你看不见的东西的属性。如果PHP安装中禁用了远程文件访问,则可能需要将其转出到系统级进程,如wget、cURL或ftp

如果您的主机禁用了远程文件访问,则可能也禁用了shell访问,但作为示例,您可以执行以下操作:

exec("wget ".$url);
另一个选项可能是使用,如果通过一些奇怪的配置,它已安装并处于活动状态,尽管没有远程文件访问权限


如果你能找到从远程服务器下载图像的方法,你可以在上面使用。

这没有多大意义,因为如果你能在网页上查看图像,图像应该可以通过URL直接访问。换句话说,为什么会有一个无法通过url访问的图像的url

无论如何,您可以使用任意数量的http/url库在请求头中设置用户代理。实际上,您欺骗服务器,使其相信浏览器正在访问文件,而不是匿名服务


以下是可用于此目的的图像列表。

您有文件系统访问这些图像的权限吗?有。基本上,这个想法是创造化身。我想我可以让人们手动输入大小,然后相应地调整大小,或者希望人们只选择在我想要的大小限制内的化身。。。但我更希望能够将图像大小调整为(比如50x50),同时仍然允许人们选择非方形图像(因此可能必须为40x50)。您是否考虑过简单地使用Gravatar服务?(www.gravatar.com)堆栈溢出使用它。而不是自己经历构建系统的所有麻烦。附加的好处是,已经拥有Gravatar的用户将自动显示。没有的用户可以自动生成标识图标(模式)。对于后人来说,在PHP中实现Gravatar是多么简单。