【发布时间】:2016-08-12 05:21:44
【问题描述】:
我有一个用 ASP.net (C#) 编码的管理面板。我有一个像 wordpress(编辑器)这样的文本区域,我正在尝试用它上传图像。我正在使用 PHP 文件进行上传,但每次上传图像后,我都会遇到 IIS“401 - 未经授权:由于凭据无效而拒绝访问”。显示时出错。我想在文件上传后每次向 IIS_IUSR 添加 755 权限。有可能吗?
这是我的 php 代码:
$dir = 'assets/images/content/';
$_FILES['file']['type'] = strtolower($_FILES['file']['type']);
if ($_FILES['file']['type'] == 'image/png'
|| $_FILES['file']['type'] == 'image/jpg'
|| $_FILES['file']['type'] == 'image/gif'
|| $_FILES['file']['type'] == 'image/jpeg'
|| $_FILES['file']['type'] == 'image/pjpeg')
{
// setting file's mysterious name
$filename = md5(date('YmdHis')).'.jpg';
$file = $dir.$filename;
// copying
move_uploaded_file($_FILES['file']['tmp_name'], $file);
chmod($file, 0777);
// displaying file
$array = array(
'filelink' => 'assets/images/content/'.$filename
);
echo stripslashes(json_encode($array));
}
【问题讨论】:
-
您使用的是 IIS 还是 apache?
-
stripslashes(json_encode())非常糟糕。 json 可以/将向正在编码的数据添加 NECESSARY 转义反斜杠,然后会愉快地删除这些反斜杠,从而破坏 json。 -
嗯还没有使用 IIS 8,但 IIS 7 没有使用这些文件模式。 stackoverflow.com/questions/5887131/…
-
@chris85 已经检查过该主题,但在 IIS 8 上不起作用