Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не загружает файл на сервер
Форумы портала PHP.SU » » Если скрипт не работает » Не загружает файл на сервер

Страниц (1): [1]
 

1. Professorsha - 21 Января, 2012 - 08:47:41 - перейти к сообщению
Есть код, который загружает картинку на сервер.
PHP:
скопировать код в буфер обмена
  1. // Каталог, в который мы будем принимать файл:
  2. $uploaddir = './files/';
  3. $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
  4. $c = $_FILES['uploadfile']['error'];
  5. // Копируем файл из каталога для временного хранения файлов:
  6. if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
  7. {
  8. echo "<h3>Файл успешно загружен на сервер</h3>";
  9. }
  10. else { echo "<h3>Ошибка - $c Не удалось загрузить файл на сервер!</h3>"; exit; }
  11.  
  12. // Выводим информацию о загруженном файле:
  13. echo "<h3>Информация о загруженном на сервер файле: </h3>";
  14. echo "<p><b>Оригинальное имя загруженного файла: ".$_FILES['uploadfile']['name']."</b></p>";
  15. echo "<p><b>Mime-тип загруженного файла: ".$_FILES['uploadfile']['type']."</b></p>";
  16. echo "<p><b>Размер загруженного файла в байтах: ".$_FILES['uploadfile']['size']."</b></p>";
  17. echo "<p><b>Временное имя файла: ".$_FILES['uploadfile']['tmp_name']."</b></p>";
  18.  


Вот на локальном (пакет Денвер) сервере всё нормально отрабатывает, а на веб нет.
При том выдаёт следущее сообщение

Ошибка - 0 Не удалось загрузить файл на сервер!

Но на сколько я поняла Значение: 0; Ошибок не возникло, файл был успешно загружен на сервер.

Подскажите в чём проблема?
2. snikers987 - 21 Января, 2012 - 19:26:00 - перейти к сообщению
скорее всего что-то с путями, error_reporting(2047); в начало файла.
фаил на сервер загружается, вы же проверяете скопировано ли содержимое временного файла в результирующий. Ошибок при загрузке не возникло, по этому и 0, по какойто причине фамл не удалось переместить.
3. Professorsha - 22 Января, 2012 - 21:32:06 - перейти к сообщению
snikers987 пишет:
скорее всего что-то с путями, error_reporting(2047); в начало файла.
фаил на сервер загружается, вы же проверяете скопировано ли содержимое временного файла в результирующий. Ошибок при загрузке не возникло, по этому и 0, по какойто причине фамл не удалось переместить.


error_reporting выводит 6135, не подскажете, что это?

Проблема оказалась не со скриптом, просто права доступа на папку были открыты только на чтение...так что нашла и разобралась. Спасибо)))))))))
4. snikers987 - 22 Января, 2012 - 21:46:28 - перейти к сообщению
Professorsha пишет:
snikers987 пишет:
скорее всего что-то с путями, error_reporting(2047); в начало файла.
фаил на сервер загружается, вы же проверяете скопировано ли содержимое временного файла в результирующий. Ошибок при загрузке не возникло, по этому и 0, по какойто причине фамл не удалось переместить.


error_reporting выводит 6135, не подскажете, что это?

error_reporting();
устанавливает уровень контроля ошибок и ничего не должен выводить.
5. Мелкий - 22 Января, 2012 - 21:48:00 - перейти к сообщению
snikers987 пишет:
ничего не должен выводить.

Должен. Если аргумент не указан, возвращает текущий уровень.
А если указан - то предыдущий уровень ошибок.
6. snikers987 - 22 Января, 2012 - 21:55:47 - перейти к сообщению
Мелкий пишет:
snikers987 пишет:
ничего не должен выводить.

Должен. Если аргумент не указан, возвращает текущий уровень.
А если указан - то предыдущий уровень ошибок.

Да, error_reporting() возвращает значение, как и любая другая функция(не пользовательская), но не выводит его.
7. Professorsha - 22 Января, 2012 - 22:21:06 - перейти к сообщению
snikers987 пишет:
Мелкий пишет:
snikers987 пишет:
ничего не должен выводить.

Должен. Если аргумент не указан, возвращает текущий уровень.
А если указан - то предыдущий уровень ошибок.

Да, error_reporting() возвращает значение, как и любая другая функция(не пользовательская), но не выводит его.


А я написала echo error_reporting(); - тогда что это за число выводит?
8. snikers987 - 22 Января, 2012 - 22:39:18 - перейти к сообщению
Professorsha пишет:
snikers987 пишет:
Мелкий пишет:
snikers987 пишет:
ничего не должен выводить.

Должен. Если аргумент не указан, возвращает текущий уровень.
А если указан - то предыдущий уровень ошибок.

Да, error_reporting() возвращает значение, как и любая другая функция(не пользовательская), но не выводит его.


А я написала echo error_reporting(); - тогда что это за число выводит?


Зачем echo ? просто error_reporting(2047); или лучше error_reporting(E_ALL);
Ошибки это не исправит, но укажет если они есть, точнее установит максимальный контроль за ними.
9. Professorsha - 22 Января, 2012 - 22:44:28 - перейти к сообщению
Цитата:
Зачем echo ? просто error_reporting(2047); или лучше error_reporting(E_ALL);
Ошибки это не исправит, но укажет если они есть, точнее установит максимальный контроль за ними.


просто error_reporting(E_ALL); ничего не выводило, что в принципе правильно, так как скрипт без ошибок))))))))))
10. snikers987 - 22 Января, 2012 - 22:44:56 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. else { echo "<h3>Ошибка - $c Не удалось загрузить файл на сервер!</h3>"; exit; }

уберите exit; если увидите ошибка, а ниже информацию о загруженом файле, ищите почему не удается скопировать. Повторюсь, скорее проблема с путями.
11. Professorsha - 22 Января, 2012 - 22:46:07 - перейти к сообщению
snikers987 пишет:
PHP:
скопировать код в буфер обмена
  1. else { echo "<h3>Ошибка - $c Не удалось загрузить файл на сервер!</h3>"; exit; }

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



Вообще-то я уже написала, что проблема была с правами доступа к папке, а не со скриптом)))))
12. snikers987 - 22 Января, 2012 - 22:52:36 - перейти к сообщению
Professorsha пишет:
snikers987 пишет:
PHP:
скопировать код в буфер обмена
  1. else { echo "<h3>Ошибка - $c Не удалось загрузить файл на сервер!</h3>"; exit; }

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



Вообще-то я уже написала, что проблема была с правами доступа к папке, а не со скриптом)))))


Пардон
13. Professorsha - 22 Января, 2012 - 22:53:48 - перейти к сообщению
Professorsha пишет:
error_reporting выводит 6135, не подскажете, что это?

Проблема оказалась не со скриптом, просто права доступа на папку были открыты только на чтение...так что нашла и разобралась. Спасибо)))))))))
(Отредактировано автором: 22 Января, 2012 - 21:50:53)




Вот здесь)))))))

 

Powered by ExBB FM 1.0 RC1