2011-05-17 151 views
1

我有一个页面,允许用户上传照片 - 相当标准的PHP我认为。php.ini - 设置upload_tmp_dir

这适用于我一直使用的最新服务器,但我最近在我的Mac上设置了php,现在上传已停止工作。

我猜这是因为upload_tmp_dir在php.ini文件中设置不正确。

有人知道我需要做什么吗?

编辑:

这里的错误消息的输出...

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

“我猜这是因为...”做一些调试并检查错误日志以找出原因。 – webbiedave 2011-05-17 16:31:23

+0

听起来像一个计划...我在哪里可以找到错误日志? – Tom 2011-05-17 16:37:08

+0

+1为详细的错误消息。我已经添加了答案。 – webbiedave 2011-05-17 16:56:49

回答

1

警告:imagejpeg():无法打开 写入 '上传/拇指/ AL.jpg':在 否认/Users/tom/Sites/tombrennand/add.php 权限上线128

您需要设置写权限上的文件夹upload/thumbs

因为这是你的个人电脑,你可以cd到文件夹upload然后chmod 777 thumbs在泰尔单宝元。

+0

绝对......我试图用Dreamweaver但没有喜悦。我想我需要在某个地方做更多的专家。 – Tom 2011-05-17 16:57:02

+0

做一个'ls -l'来验证。再次检查'uploads'目录以确保可执行位(可执行位)。 – webbiedave 2011-05-17 17:36:59

+0

我试过'chmod 777 thumbs'但是返回'chmod:thumbs:没有这样的文件或目录'。我需要将路线添加到该目录吗?所以像'chmod 777上传/大拇指' – Tom 2011-05-18 13:27:50

2

更改您的php.ini文件

upload_tmp_dir = /tmp/whatever 

条目。确保该位置可由相应的用户/组写入。

+1

您无法在运行时更改upload_tmp_dir。在脚本运行时,上传过程已经发生。 – dtbarne 2011-05-17 16:31:35

+0

.ini文件中的更改不是“运行时”,您应该将chown添加到apache,通常是www-data,如chown root:www-data/newupload_dir /并且最好使用755权限。 – Miguel 2017-04-05 23:23:50

0

查看你的phpinfo在一个新的页面,看看它设置为:

<?php phpinfo(); ?> 

如果不是,你需要它,你可以用你的php.ini文件进行编辑。

+0

所以如果不是它需要的地方 - 我怎么知道它需要在哪里?这有什么规则吗? – Tom 2011-05-17 16:44:39

+0

该位置是任意的。只要你可以写入目录,你应该没问题。 – Jim 2011-05-17 16:52:26

0

我有同样的问题。我做了一个move_uploaded_file()到我知道IIS用户有写权限的文件夹,然后我解压缩该文件。 默认情况下,我的PHP.ini使用的是c:\ windows \ temp,即使我给IIS用户写入权限,它也不起作用。