Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ошибка newsedit.php и class.field.file.php
 
 автор: areku   (15.03.2010 в 19:49)   письмо автору
 
 

Помогите! Как правильно писать?
Сначало редактировать новости (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 уже редактировал. Я узнал, что там "Изображение" - пусто в форме. Я уже нажал "Удалить изображение". А как исправить ошибки?

  Ответить  
 
 автор: Commander   (15.03.2010 в 23:27)   письмо автору
 
   для: areku   (15.03.2010 в 19:49)
 

У меня тоже было. Я просто поставил перед copy() собаку.

  Ответить  
 
 автор: areku   (16.03.2010 в 19:15)   письмо автору
 
   для: Commander   (15.03.2010 в 23:27)
 

Привет! Commander!
Работает? А как правильно поставить copy()?

  Ответить  
 
 автор: Commander   (16.03.2010 в 20:56)   письмо автору
 
   для: areku   (16.03.2010 в 19:15)
 


<?php
    
@copy($this->value[$this->name]['tmp_name'], $path)
?>

  Ответить  
 
 автор: areku   (16.03.2010 в 23:10)   письмо автору
 
   для: Commander   (16.03.2010 в 20:56)
 

А поставить "@copy($this->value[$this->name]['tmp_name'], $path) " в файл newsedit.php или class.field.file.php?

  Ответить  
 
 автор: Commander   (16.03.2010 в 23:44)   письмо автору
 
   для: 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($path0644);
        }
?>

поменяйте на:


<?php
    
if (@copy($this->value[$this->name]['tmp_name'], $path))
        {
          
// Уничтожаем файл во временной директории
          
unlink($this->value[$this->name]['tmp_name']);
          
// Изменяем права доступа к файлу
          
chmod($path0644);
        }
?>

У меня примерно на восьмидесятой строке. Судя по сообщению об ошибке, у Вас строка 72.

  Ответить  
 
 автор: areku   (17.03.2010 в 11:33)   письмо автору
 
   для: Commander   (16.03.2010 в 23:44)
 

У меня получилось)) Я рад! Большое спасибо за помощи))

  Ответить  
 
 автор: mihdan   (19.03.2010 в 00:12)   письмо автору
 
   для: Commander   (15.03.2010 в 23:27)
 

Чушь. Зачем прятать ошибку? Ее нужно исправлять! Вы лечите последствия, а не причину!

  Ответить  
 
 автор: areku   (19.03.2010 в 22:23)   письмо автору
 
   для: mihdan   (19.03.2010 в 00:12)
 

Я - не професионал, а начинающий. Спасибо за сайт.

  Ответить  
 
 автор: tihonko   (17.03.2010 в 09:01)   письмо автору
 
   для: 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-пакета.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования