|
|
|
| Помогите! Как правильно писать?
Сначало редактировать новости (newsedit.php), а потом появился ошибка:
Warning: copy() [function.copy]: Filename cannot be empty in R:\home\localhost\www\profphp\site2\class\class.field.file.php on line 72
Warning: Cannot modify header information - headers already sent by (output started at R:\home\localhost\www\profphp\site2\class\class.field.file.php:72) in R:\home\localhost\www\profphp\site2\dmn\system_news\newsedit.php on line 163
А в MySQL уже редактировал. Я узнал, что там "Изображение" - пусто в форме. Я уже нажал "Удалить изображение". А как исправить ошибки? | |
|
|
|
|
|
|
|
для: areku
(15.03.2010 в 19:49)
| | У меня тоже было. Я просто поставил перед copy() собаку. | |
|
|
|
|
|
|
|
для: Commander
(15.03.2010 в 23:27)
| | Привет! Commander!
Работает? А как правильно поставить copy()? | |
|
|
|
|
|
|
|
для: areku
(16.03.2010 в 19:15)
| |
<?php
@copy($this->value[$this->name]['tmp_name'], $path)
?>
|
| |
|
|
|
|
|
|
|
для: Commander
(16.03.2010 в 20:56)
| | А поставить "@copy($this->value[$this->name]['tmp_name'], $path) " в файл newsedit.php или class.field.file.php? | |
|
|
|
|
|
|
|
для: areku
(16.03.2010 в 23:10)
| | Ошибка где возникает? В field.file.php. Туда и надо подставлять. Найдите там следующий код:
<?php
if (copy($this->value[$this->name]['tmp_name'], $path))
{
// Уничтожаем файл во временной директории
unlink($this->value[$this->name]['tmp_name']);
// Изменяем права доступа к файлу
chmod($path, 0644);
}
?>
|
поменяйте на:
<?php
if (@copy($this->value[$this->name]['tmp_name'], $path))
{
// Уничтожаем файл во временной директории
unlink($this->value[$this->name]['tmp_name']);
// Изменяем права доступа к файлу
chmod($path, 0644);
}
?>
|
У меня примерно на восьмидесятой строке. Судя по сообщению об ошибке, у Вас строка 72. | |
|
|
|
|
|
|
|
для: Commander
(16.03.2010 в 23:44)
| | У меня получилось)) Я рад! Большое спасибо за помощи)) | |
|
|
|
|
|
|
|
для: Commander
(15.03.2010 в 23:27)
| | Чушь. Зачем прятать ошибку? Ее нужно исправлять! Вы лечите последствия, а не причину! | |
|
|
|
|
|
|
|
для: mihdan
(19.03.2010 в 00:12)
| | Я - не професионал, а начинающий. Спасибо за сайт. | |
|
|
|
|
|
|
|
для: areku
(15.03.2010 в 19:49)
| | Чтобы эта ошибка не появлялась:
Warning: Cannot modify header information - headers already sent by (output started at R:\home\localhost\www\profphp\site2\class\class.field.file.php:72) in R:\home\localhost\www\profphp\site2\dmn\system_news\newsedit.php on line 163
Добавьте в файл config.php строку
ob_start()
Судя по всему Вы денвер используете. Я тоже, с версией PHP 5.2 Там по умолчанию в файле php.ini директива output_buffering установлена в Off. Поэтому автоматически вывод в буфер не направляется. Об этом приходится заботится самому.
Немного поясню: скрипт в строке 163 файла newsedit.php пытается отправить HTTP-заголовок, но не может этого сделать, т.к. ранее (в строке 72 файла class.field.file.php, который включен в файл newsedit.php) уже была начата отправка самого документа в теле HTTP-пакета. | |
|
|
|