-1

xampp 中的 htdocs 文件夹具有 777 权限,我可以在那里手动复制更改任何文件,但将文件上传到子文件夹会出错。我的代码是:

<?php
define ('MAX_FILE_SIZE', 1024 * 50);
if (array_key_exists('submit', $_POST)) {
// define constant for upload folder
define('UPLOAD_DIR', '/opt/lampp/htdocs/properties/');
// replace any spaces in original filename with underscores
$file = str_replace(' ', '_', $_FILES['image']['name']);
// create an array of permitted MIME types
$permitted = array('image/gif', 'image/jpeg', 'image/pjpeg','image/png');
// upload if file is OK
if (in_array($_FILES['image']['type'], $permitted)
  && $_FILES['image']['size'] > 0 
  && $_FILES['image']['size'] <= MAX_FILE_SIZE) {
switch($_FILES['image']['error']) {
  case 0:
    // check if a file of the same name has been uploaded
    if (!file_exists(UPLOAD_DIR . $file)) {
// move the file to the upload folder and rename it
$success = move_uploaded_file($_FILES['image']['tmp_name'], UPLOAD_DIR $file);
} else {
$result = 'A file of the same name already exists.';
}
if ($success) {
$result = "$file uploaded successfully.";
} else {
$result = "Error uploading $file. Please try again.";
}
break;
case 3:
case 6:
case 7:
case 8:
$result = "Error uploading $file. Please try again.";
break;
case 4: 
$result = "You didn't select a file to be uploaded.";
}
} else {
$result = "$file is either too big or not an image.";
}
}
?>

我得到的错误是:

Warning: move_uploaded_file(/opt/lampp/htdocs/properties/Cover.jpg): failed to open stream: Permission denied in /opt/lampp/htdocs/listprop.php on line 82
4

1 回答 1

0

检查是safe_modeon你的php.ini

如果只有 xampp 文件夹可写但无济于事,那么您也需要子文件夹可写。

二、只问

define('UPLOAD_DIR', '/opt/lampp/htdocs/properties/');

lampp不应该在xampp哪里?只是问(这也可能导致移动问题)

于 2013-01-13T14:42:03.677 回答