我有以下代码:
$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);
}
我的代码有问题吗?我总是从最后一个if语句中的die命令获取消息。
任何帮助将不胜感激。
编辑:感谢Stanislav Agapov,我从drupal找到了日志。消息是:
无法复制文件.... / main_ROSE2106.JPG,因为目标目录public:// galerii_imagini没有正确配置。
我应该怎么做才能正确配置它?我已经在/ admin / config / media / file-system中将路径site / default / files设置为公共文件。还有其他设置吗?
编辑2:我为整个/ sites / default / files树设置了777。
/sites/default/files/galerii_imagini
?
file_copy
和由它调用的函数file_unmanaged_copy
在发生错误的情况下将消息写入系统日志。您是否查看了“最近的日志消息”报告?您最有可能在那找到答案...