使用php上传照片的最佳方式:允许的内存大小为67108864字节

使用php上传照片的最佳方式:允许的内存大小为67108864字节,php,memory,upload,photo,Php,Memory,Upload,Photo,在我的网站上,用户可以上传自己的照片。php代码将它们存储在图像中,制作一个缩影,重命名它们并将它们存储在网站上。照片必须您可以使用该方法动态更改ini设置 ini_set('memory_limit','128M'); 如果您不能使用此方法,它将返回false而不是设置值。我怀疑共享主机是否允许您更改内存限制64MB对我来说似乎是合理的限制。@FritsvanCampen;公平地说,ini\u set可以关闭(在共享主机上很可能会关闭),但在OP尝试之前,他们不会知道我无法访问php.ini

在我的网站上,用户可以上传自己的照片。php代码将它们存储在图像中,制作一个缩影,重命名它们并将它们存储在网站上。照片必须您可以使用该方法动态更改ini设置

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

如果您不能使用此方法,它将返回false而不是设置值。

我怀疑共享主机是否允许您更改内存限制<代码>64MB对我来说似乎是合理的限制。@FritsvanCampen;公平地说,
ini\u set
可以关闭(在共享主机上很可能会关闭),但在OP尝试之前,他们不会知道我无法访问php.ini,但我可以尝试使用htaccess,就好像您的主机锁定了它一样,在这种情况下,我怀疑是否有办法绕过限制。奇怪的是,您在
900KB
上的内存不足,但看起来您的主机设置为
64MB
!您确定没有其他可能的问题吗?为什么需要
64MB
来调整
900KB
图像的大小?这似乎有点过分。你有内存泄漏吗?如果你只上传这张图片,会不会发生这种情况?我一直在寻找内存泄漏(代码不是我自己写的,我是从别人那里获取的),但还没有找到。64MB是巨大的,即使是一个大的bmp。。。其他大型图像也会出现这种情况。我假设php将它们存储在bmp中。将它们重新压缩到200KB只会在上传之前对它们重新定尺寸,这样就解决了问题。例如,我无法上传5000*4000像素、1.3 MB的图像。同样的图像,2500*2000像素,1MB,可以上传
ini_set('memory_limit','128M');