ВопросОшибка в базе данных

В профиле создаю дополнительные поля. При попытке заполнить их получаю следующую ошибку:
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'public://kuindgi3.jpg' for key

2: INSERT INTO {file_managed} (uid, filename, uri, filemime, filesize, status, timestamp) VALUES

(:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3,

:db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6); Array
(
[:db_insert_placeholder_0] => 1
[:db_insert_placeholder_1] => kuindgi3.jpg
[:db_insert_placeholder_2] => public://kuindgi3.jpg
[:db_insert_placeholder_3] => image/jpeg
[:db_insert_placeholder_4] => 56945
[:db_insert_placeholder_5] => 0
[:db_insert_placeholder_6] => 1321097385
)
в функции drupal_write_record() (строка 6884 в файле

/var/www/u2075053/public_html/sochinitell.pp.ua/includes/common.inc).»

Комментарии

Аватар пользователя Spleshka
Spleshka написал:

У вас в базе уже есть фотография с именем kuindgi3.jpg. Самый простй способ избежать этой ошибки - переименуйте фотографию, которую пытаетесь загрузить.

14.11.2011 11:56
Аватар пользователя taecelle
taecelle написал:

Она там была и не удалилась. То есть все содержимое, которое загружается в поле, не удаляется с удалением поля. Как исправить это? (права доступа к папкам стоят правильные, даже в службу техподдержки обращалась).

14.11.2011 12:05
Аватар пользователя Spleshka
Spleshka написал:

Как вариант - залезть в базу данных, открыть таблицу {file_managed} и вручную удалить строку, в которой столбец uri хранит значение public://kuindgi3.jpg

14.11.2011 12:10
Аватар пользователя Гость
Гость написал:

Удалила. Сейчас попробую снова. Но в дальнейшем, если я удалю картинку из профиля, а потом захочу ее вернуть - он ведь снова такое выдаст. Как сделать чтобы Друпал удалял файл насовсем, если я его удаляю?

14.11.2011 12:52
Аватар пользователя Spleshka
Spleshka написал:

Вообще он должен был удалиться из базы. А при совпадении имён - не выдавать ошибку, а переименовывать файл в имяфайла_0.jpg. Эта ошибка связана не с логикой работы Друпала - там всё работает правильно. Где-то косяк в настройке сайта. Возможно, сайт переносился с 6го Друпала на 7й. Могли закрасться мелкие баги.

14.11.2011 12:56
Аватар пользователя Гость
Гость написал:

Увы, даже удаление файла из базы данных не помогло. Удалила, закачала его в профиль снова - в настройках профиля появилась картинка, а на самой странице профиля тишина. Ничего. Словно этого поля и нет.
Нет, я сразу делала сайт на седьмом друпале. Мне бы очень надо выяснить, в чем причина.

14.11.2011 13:03
Аватар пользователя Spleshka
Spleshka написал:

Если в настройках появилась картинка - значит, она в базу закачалась. Очистите кэш сайта, возможно там осталось что-нибудь от старой картинки.

14.11.2011 13:50
Аватар пользователя Гость
Гость написал:

Очищение кэша не помогает. Я его за последние дни чистила не знаю сколько, после каждого чиха.
Вот смотрите:
Я создаю поле:

Как видите, оно точно создано. Потом захожу в правку своего аккаунта и загружаю фото:

Изображение загружено, я проверяла - оно появляется и в папке на сайте, и в базе данных. Вроде бы все в порядке.
Но в профиле:

ЕГО НЕТ. А раньше было - там где синяя черта проведена. И все это случилось после того, как я удалила старое поле с Изображением и добавила вот это, новое.
Отчаявшись с картинкой, я пыталась добавить поле с Датой. Снова поле прекрасно добавилось, в настройках аккаунта я поставила дату, но в профиле она так и не отобразилась. То же самое в разных браузерах, тоже самое случилось, когда картинку добавил другой пользователь на сайте.
В чем может быть дело?

14.11.2011 14:05
Аватар пользователя Spleshka
Spleshka написал:

Поставьте модуль transliteration и после этого перезалейте фотку. Я слышал, что в D7 есть проблемы с русскими символами. А transliteration будет переводить русские символы в латинские - и проблема должна уйти.

14.11.2011 14:13
Аватар пользователя Гость
Гость написал:

Проблема с самим полем. Я заливала фотки с самыми разными названиями, и метку поля ставила и на русском, и на английском. Они теперь никакие не отображаются, и именно в аккаунте.
У меня стоит модуль для переводов, только вот толку от него...

14.11.2011 14:20
Аватар пользователя Spleshka
Spleshka написал:

Метка поля может быть на любом языке, а вот название файла - должно быть латинскими. У вас файл называется _ласка.JPG - этого не должно быть. Зайдите в раздел /admin/config/media/file-system/transliteration и переведите все файлы.

14.11.2011 14:23
Аватар пользователя Гость
Гость написал:

Ммм, сейчас там загружен файл на английском языке:

Только это не помогает ни капельки.
И почему в там случае даже поле с датой все равно не отображается?
(в остальных местах поля добавляются нормально и сразу появляются).
И что может значить вот это сообщение (нашла в логах):
Notice: Undefined property: stdClass::$uri в функции file_delete() (строка 1231 в файле /var/www/u2075053/public_html/sochinitell.pp.ua/includes/file.inc).

14.11.2011 14:40
Аватар пользователя Spleshka
Spleshka написал:

По поводу ошибки - как я и говорил - проблема с удалением файла. Из-за чего она может быть, к сожалению, не лезя внутрь сайта сказать сложно.

По поводу того, что картинка не выводится - вы смотрели в настройках отображения полей? /admin/config/people/accounts/display

14.11.2011 14:54
Аватар пользователя Гость
Гость написал:

Готова предоставить доступ внутрь - только бы сделать что-то.
Да, настройки отображения в порядке - поле видимо. Только увы, не видимо на самом деле((

14.11.2011 15:08
Аватар пользователя Spleshka
Spleshka написал:

Давайте посмотрим в чём там дело. Высылайте доступы в контактную форму на сайте.

14.11.2011 15:10
Аватар пользователя Гость
Гость написал:

Евгений, огромное спасибо!! Все хорошо.
Подумала, что лучше напишите здесь, в чем было дело. А то мало ли, найдут еще такие руки-крюки вроде меня...

14.11.2011 16:04
Аватар пользователя Spleshka
Spleshka написал:

В разделе /admin/config/people/accounts/display/full картинка была выключена из отображения.

Незачто :)

14.11.2011 17:29
Аватар пользователя Гость
Гость написал:

Когда я пытаюсь попасть по этому адресу, оказывается, что у меня нет доступа(( Как такое может быть?

14.11.2011 18:29
Аватар пользователя Spleshka
Spleshka написал:

Ну значит нет доступа :) Но я с вашего сайта это скопировал, когда находился под вашим же аккаунтом :)

14.11.2011 19:59

Комментировать