2013-02-26 60 views
1

因此,像我读过的很多帖子,当我从iPhone上传文件到我的网站时,图像旋转方式错误。我明白为什么和我有一个读取exif数据来检测方向的功能。imagecreatefromstring太大,只想旋转图像

香港专业教育学院也有一些代码,并在此switch语句将图像旋转90度 我的问题是,

$image = imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name'])); 

回报同样的老错误的X字节允许内存大小用尽

我没有访问我的php.ini增加最大上传大小 我不能这个远程服务器上做任何.htaccess文件或者

文件从我的iphone上传的都是引发此错误是我敢肯定,每个人的iPhone是和

我可以检测使用

$info = getimagesize($_FILES['file']['tmp_name']); 

我该如何解决这个问题,得到的switch语句是基于$图像VAR图像尺寸? 当我在$ info var中获取文件大小(高度和宽度)时,我该怎么做?

期待回复 谢谢!

+0

您的“x”(显示允许的内存大小)是否适用于图像的大小?如果它更大,上传可能会有问题。 编辑:我的错 - 文件大小可能是无关紧要的 - 因为如果GD加载一个JPEG文件,它解压缩并保存(如此说)一个“宽*高*色深度”位图。 – Michael 2013-02-27 00:08:34

+0

它确实符合任何一种方式,谢谢! – Oman 2013-02-28 14:57:48

回答

1

如果真的是大小,你可以尝试

ini_set('memory_limit', '64M'); 

添加到单相关PHP脚本的顶部。

但也可能有限制。

+0

我最终不得不使用ini_set('memory_limit','80M');在imagecreatefromstring()和imagerotate()的任何调用之前,似乎有诀窍,好的答案,但我不知道我必须做的是最佳实践。这些限制可能是什么? - 编号喜欢upvote这个答案,但我想我没有在这里代表然而嘿 – Oman 2013-02-28 14:56:31

+0

“但也可能有限制。”意思是:我总是有自己的网络服务器或网络服务器,没有限制这个选项。但也许基于文件的“ini_set('内存...” - 东西可以被限制或停用 - 但我不知道。 – Michael 2013-03-02 09:54:32