У мене є такий код:
$main_image = glob('main*.{jpeg,gif,png,jpg,JPEG,JPG,PNG}', GLOB_BRACE);
if (count($main_image) != 1)
die("Could not find main picture !");
$file_path = drupal_realpath($main_image[0]);
$file = (object) array(
'uid' => $userID,
'uri' => $file_path,
'filemime' => file_get_mimetype($file_path),
'display' => 1,
'filename' => $main_image[0]
);
// copy the file in the correct folder
$destination = "public://galerii_imagini/" . $file->filename;
if ($file = file_copy($file, $destination, FILE_EXISTS_REPLACE)) {} else {
die("Could not copy " . $file_path . " in " . $destination);
}
Щось із моїм кодом не так? Я завжди отримую повідомлення від команди die всередині останнього оператора if.
Будь-яка допомога буде вдячна.
Редагувати: Завдяки Станіславу Агапову я знайшов колоди від drupal. Повідомлення:
Файл .... / main_ROSE2106.JPG не вдалося скопіювати, оскільки каталог каталогів public: // galerii_imagini неправильно налаштований.
Що мені робити, щоб правильно його налаштувати? Я встановив в / admin / config / media / file-system шлях до сайтів / default / файлів як публічних файлів. Чи є ще щось встановити?
Редагувати №2: Я встановив 777 для всього дерева / сайтів / за замовчуванням / файлів.
/sites/default/files/galerii_imagini
?
file_copy
і викликана нею функціяfile_unmanaged_copy
у разі помилок записують повідомлення в системний журнал. Ви подивилися звіт "Останні повідомлення журналу"? Швидше за все, там ви знайдете відповідь ...