【发布时间】:2011-10-25 23:00:47
【问题描述】:
我在我的 C 盘 (c:/artwork) 中创建了一个文件夹,我用它来通过 php 中的表单上传文件,如下所示:
<input name="file" type="file">
问题是,当文件上传时,我转到文件夹并尝试打开文件,我收到以下消息: 照片库无法打开此图片,因为您没有访问文件位置的权限
如果我手动将图片复制并粘贴到同一文件夹中,则没有问题。我可以完美打开和查看图片!
我猜它必须是通过 php 上传时的权限问题,但至于什么?我该如何解决?
谢谢
编辑(添加代码)
$destination = 'c:/public_html/discography/artwork/'; // path to the upload folder
if (is_dir($destination) && is_writable($destination)) {
// if file already exists, ask what to do
// upload the file
$ok = move_uploaded_file($_FILES['file']['tmp_name'], $destination . $_FILES['file']['name']);
// if file uploaded, go ahead an insert record in database
if ($ok) {
$stmt = $conn->stmt_init(); // initialize a prepared statement
$stmt->prepare($sql);
$stmt->bind_param('s', $_FILES['file']['name']);
$stmt->execute();
$stmt->free_result(); // free the database resources for other queries
// if success
if ($stmt->affected_rows > 0) {
$success = true;
} else {
$err_msg = $stmt->error;
}
$stmt->close(); // close statement
}
} else {
$err_msg = "'$destination' must be a valid, writable directory!";
}
【问题讨论】:
-
哪个用户正在运行 Apache / IIS?可能仅在服务器用户/组上以读/写访问权限上传文件。如果是这种情况,您需要做的就是让您的用户成为服务器组的成员。
-
我在本地开发环境中运行 apache/mysql/php
-
@NullUserException:我已经添加了代码(还没有完成)
标签: php file-permissions