我有一个页面,允许用户上传照片 - 我认为相当标准的PHP。
这适用于我迄今为止使用的实时服务器,但我最近在我的Mac上安装了php,现在上传已停止工作。
我猜这是因为在php.ini文件中没有正确设置upload_tmp_dir。
有谁知道我需要做什么?
编辑:
这是输出的错误消息......
Warning: imagejpeg(): Unable to open 'upload/thumbs/AL.jpg' for writing: Permission denied in /Users/tom/Sites/tombrennand/add.php on line 128 Warning: imagejpeg(): Unable to open 'upload/images/AL.jpg' for writing: Permission denied in /Users/me/Sites/mysite/add.php on line 135 Notice: Undefined variable: con in /Users/me/Sites/mysite/add.php on line 172 Warning: mysql_close() expects parameter 1 to be resource, null given in /Users/me/Sites/mysite/add.php on line 172
因此,我认为我需要在该文件夹上设置权限。有什么想法吗?
答案 0 :(得分:2)
更改
upload_tmp_dir = /tmp/whatever
在您的php.ini
文件中输入。确保此位置可由相应的用户/组写入。
答案 1 :(得分:1)
警告:imagejpeg():无法打开 'upload / thumbs / AL.jpg'用于写作: 许可被拒绝 /Users/tom/Sites/tombrennand/add.php 在第128行
您需要在文件夹upload/thumbs
由于这是您的个人计算机,因此您只需cd
进入文件夹upload
,然后再访问终端中的chmod 777 thumbs
。
答案 2 :(得分:0)
在新页面中查看您的phpinfo以查看它的设置:
<?php phpinfo(); ?>
如果它不在您需要的位置,您可以使用php.ini文件进行编辑。
答案 3 :(得分:0)
我遇到了同样的问题。我做了一个move_uploaded_file()到我知道IIS用户有写权限的文件夹然后我解压缩该文件。 默认情况下,我的PHP.ini使用的是c:\ windows \ temp,即使我向IIS用户提供了写入权限,它也无法正常工作。