Я пытаюсь создать узел на основе отправки пользовательской формы.Все отлично работает, за исключением загружаемых изображений.
Я могу их прекрасно захватить и установить в кеше объектов формы.Когда я передаю данные в функцию для создания узла, я получаю эту ошибку:
"Указанный файл не может быть скопирован, поскольку файл с таким именем не существует. Убедитесь, что вы указали правильное имя файла.«
Я также получаю сообщение об ошибке несколько раз, несмотря на то, что отправляю одновременно только одно или два изображения.
Вот код, который я использую.$ uploads передается и является массивом файловых объектов, возвращенных из file_save_upload () на предыдущем шаге:
if (isset($uploads)) {
foreach ($uploads as $upload) {
if (isset($upload)) {
$file = new stdClass;
$file->uid = 1;
$file->uri = $upload->filepath;
$file->filemime = file_get_mimetype($upload->uri);
$file->status = 1;
$file = file_copy($file, 'public://images');
$node->field_image[$node->language][] = (array) $file;
}
}
}
node_save($node);
Я также пробовал это:
if (isset($uploads)) {
foreach ($uploads as $upload) {
$upload->status = 1;
file_save($upload);
$node->field_image[$node->language][] = (array) $upload;
}
}
}
node_save($node);
Второй вызывает дубликатключевая ошибка в MySQL на поле URI.Оба эти примера я видел в уроках, но ни один из них не работает?