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 и Upload (Загрузка файлов на сервер)
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Урок: PHP и Upload (Загрузка файлов на сервер)

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

1. СЕРьГА - 20 Июня, 2011 - 20:23:48 - перейти к сообщению
Помогите чайнику с созданием каталога, пожалуйста! Вот фрагментик этого урока,. с которым у меня возникли проблемы:

Предположим, нам нужно загрузить файл в каталог uploads, который находится в корневом каталоге веб-сервера (в каталоге DocumentRoot).

// На всякий случай создадим каталог. Если он уже создан,
// сообщение об ошибки мы не увидим, поскольку воспользуемся оператором @:

@mkdir("uploads", 0777);

// Копируем файл из /tmp в uploads
// Имя файла будет таким же, как и до отправки на сервер:

copy($_FILES['uploadfile']['tmp_name'],"uploads/".basename($_FILES['uploadfile']['name']));

Как это вообще создать каталог? В какой тип файла его сохранять? И вообще, я что-то не вижу у меня на локальном сервере каталога DocumentRoot
2. OrmaJever - 20 Июня, 2011 - 20:46:59 - перейти к сообщению
СЕРьГА пишет:
Как это вообще создать каталог? В какой тип файла его сохранять?

ну совсем глупые вопросы.
СЕРьГА пишет:
И вообще, я что-то не вижу у меня на локальном сервере каталога DocumentRoot

это имеется ввиду $_SERVER['DOCUMENT_ROOT'] - корневая папка веб сервера
3. СЕРьГА - 20 Июня, 2011 - 21:27:44 - перейти к сообщению
Спасибо, но я всё равно, не понял, куда это вставлять:

// На всякий случай создадим каталог. Если он уже создан,
// сообщение об ошибки мы не увидим, поскольку воспользуемся оператором @:

@mkdir("uploads", 0777);

// Копируем файл из /tmp в uploads
// Имя файла будет таким же, как и до отправки на сервер:

copy($_FILES['uploadfile']['tmp_name'],"uploads/".basename($_FILES['uploadfile']['name']));

в скрипт загрузки файлов на сервер?
4. OrmaJever - 20 Июня, 2011 - 21:32:07 - перейти к сообщению
СЕРьГА пишет:
Спасибо, но я всё равно, не понял, куда это вставлять:

Ну вобщето да, это же урок по загрузке. Вобще мне както сложно обьснить потому что нужно понимать значение каждой строки иначе ничего может не получится Подмигивание
5. СЕРьГА - 20 Июня, 2011 - 21:40:43 - перейти к сообщению
OrmaJever пишет:
СЕРьГА пишет:
Спасибо, но я всё равно, не понял, куда это вставлять:

Ну вобщето да, это же урок по загрузке. Вобще мне както сложно обьснить потому что нужно понимать значение каждой строки иначе ничего может не получится Подмигивание


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

и форма
CODE (html):
скопировать код в буфер обмена
  1. <form action=upload.php method=post enctype=multipart/form-data>
  2.  <input type=file name=uploadfile>
  3.  <input type=submit value=Загрузить></form>
7. СЕРьГА - 20 Июня, 2011 - 22:16:02 - перейти к сообщению
OrmaJever пишет:
весь урок то я видел, там в конце написан рабочий код
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. // Каталог, в который мы будем принимать файл:
  4. $uploaddir = './files/';
  5. $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
  6.  
  7. // Копируем файл из каталога для временного хранения файлов:
  8. if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
  9. {
  10. echo "<h3>Файл успешно загружен на сервер</h3>";
  11. }
  12. else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }
  13.  
  14. // Выводим информацию о загруженном файле:
  15. echo "<h3>Информация о загруженном на сервер файле: </h3>";
  16. echo "<p><b>Оригинальное имя загруженного файла: ".$_FILES['uploadfile']['name']."</b></p>";
  17. echo "<p><b>Mime-тип загруженного файла: ".$_FILES['uploadfile']['type']."</b></p>";
  18. echo "<p><b>Размер загруженного файла в байтах: ".$_FILES['uploadfile']['size']."</b></p>";
  19. echo "<p><b>Временное имя файла: ".$_FILES['uploadfile']['tmp_name']."</b></p>";
  20.  
  21. ?>



Ну так я пробовал с этим кодом. Выводит: Ошибка! Не удалось загрузить файл на сервер!
8. OrmaJever - 20 Июня, 2011 - 22:48:43 - перейти к сообщению
папка files существует?
9. СЕРьГА - 21 Июня, 2011 - 16:45:36 - перейти к сообщению
OrmaJever пишет:
папка files существует?


а где она должна быть? я не вижу.
10. EuGen - 21 Июня, 2011 - 16:52:42 - перейти к сообщению
http://phpfaq[dot]ru/debug
11. Coder1994 - 21 Июня, 2011 - 16:59:52 - перейти к сообщению
Вам поможет:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(!is_dir('files'))mkdir("flies", 0777);
  3. // Каталог, в который мы будем принимать файл:
  4. $uploaddir = './files/';
  5. $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
  6.  
  7. // Копируем файл из каталога для временного хранения файлов:
  8. if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
  9. {
  10. echo "<h3>Файл успешно загружен на сервер</h3>";
  11. }
  12. else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }
  13.  
  14. // Выводим информацию о загруженном файле:
  15. echo "<h3>Информация о загруженном на сервер файле: </h3>";
  16. echo "<p><b>Оригинальное имя загруженного файла: ".$_FILES['uploadfile']['name']."</b></p>";
  17. echo "<p><b>Mime-тип загруженного файла: ".$_FILES['uploadfile']['type']."</b></p>";
  18. echo "<p><b>Размер загруженного файла в байтах: ".$_FILES['uploadfile']['size']."</b></p>";
  19. echo "<p><b>Временное имя файла: ".$_FILES['uploadfile']['tmp_name']."</b></p>";
  20.  
  21. ?>

(Добавление)
или же
PHP:
скопировать код в буфер обмена
  1. chmod("files", 0777);
12. СЕРьГА - 21 Июня, 2011 - 18:51:40 - перейти к сообщению
Coder1994 пишет:


А нельзя ли поточнее - куда именно вставить этот код?
(Добавление)
EuGen пишет:
http://phpfaq.ru/debug


но там больше половины по-английски((
13. OrmaJever - 21 Июня, 2011 - 18:57:28 - перейти к сообщению
СЕРьГА пишет:
А нельзя ли поточнее - куда именно вставить этот код?

скорее всего стоит начать сначала, почитать про скинтаксис, функции, цонструкции и как это всё работает
СЕРьГА пишет:
но там больше половины по-английски((

Не понял Там всё описание на русском!
14. Slavenin - 21 Июня, 2011 - 19:18:56 - перейти к сообщению
СЕРьГА, возможно стоит для начала освоить этот раздел? вы бы еще аяксом через айфрейм пробовали загружать, просто посмотреть как оно работает и поучиться. Любой путь начинается с первого шага, а первый шаг это понимание задачи и пути ее реализации, т.е. составление алгоритма, затем изучение синтаксиса и конструкций нужного языка и только потом реализация. Понять по реализации алгоритм и синтаксис можно при наличии нескольких уже изученных языков в эмпирическом запасе да и то до конца все можно не понять. Учите матчасть Все ходы записаны Подмигивание
15. СЕРьГА - 21 Июня, 2011 - 21:40:36 - перейти к сообщению
Так я и знал, что вы пошлёте меня к самому началу Огорчён Учил я это уже. Вам так трудно просто сказать, куда вставить этот код?:

chmod("files", 0777);

 

Powered by ExBB FM 1.0 RC1