-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_modeあなたonの中にありますphp.ini

xampp フォルダーのみが書き込み可能であるが役に立たない場合は、サブフォルダーも書き込み可能にする必要があります。

第二に、ただ尋ねる

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

それはどこにlamppあるべきではないxamppですか?尋ねるだけです(これも移動の問題を引き起こす可能性があります)

于 2013-01-13T14:42:03.677 に答える