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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Урок: PHP и Upload (Загрузка файлов на сервер)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Создание каталога uploads
СЕРьГА
Отправлено: 20 Июня, 2011 - 20:23:48
Post Id


Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Помогите чайнику с созданием каталога, пожалуйста! Вот фрагментик этого урока,. с которым у меня возникли проблемы:

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

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

@mkdir("uploads", 0777);

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

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

Как это вообще создать каталог? В какой тип файла его сохранять? И вообще, я что-то не вижу у меня на локальном сервере каталога DocumentRoot
 
 Top
OrmaJever Модератор
Отправлено: 20 Июня, 2011 - 20:46:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




СЕРьГА пишет:
Как это вообще создать каталог? В какой тип файла его сохранять?

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

это имеется ввиду $_SERVER['DOCUMENT_ROOT'] - корневая папка веб сервера


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
СЕРьГА
Отправлено: 20 Июня, 2011 - 21:27:44
Post Id


Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Спасибо, но я всё равно, не понял, куда это вставлять:

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

@mkdir("uploads", 0777);

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

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

в скрипт загрузки файлов на сервер?
 
 Top
OrmaJever Модератор
Отправлено: 20 Июня, 2011 - 21:32:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




СЕРьГА пишет:
Спасибо, но я всё равно, не понял, куда это вставлять:

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


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
СЕРьГА
Отправлено: 20 Июня, 2011 - 21:40:43
Post Id


Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




OrmaJever пишет:
СЕРьГА пишет:
Спасибо, но я всё равно, не понял, куда это вставлять:

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


Ну может посмотрите тогда весь урок: http://php.su/phphttp/?uploads
 
 Top
OrmaJever Модератор
Отправлено: 20 Июня, 2011 - 21:49:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




весь урок то я видел, там в конце написан рабочий код
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>


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
СЕРьГА
Отправлено: 20 Июня, 2011 - 22:16:02
Post Id


Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




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. ?>



Ну так я пробовал с этим кодом. Выводит: Ошибка! Не удалось загрузить файл на сервер!
 
 Top
OrmaJever Модератор
Отправлено: 20 Июня, 2011 - 22:48:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




папка files существует?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
СЕРьГА
Отправлено: 21 Июня, 2011 - 16:45:36
Post Id


Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




OrmaJever пишет:
папка files существует?


а где она должна быть? я не вижу.
 
 Top
EuGen Администратор
Отправлено: 21 Июня, 2011 - 16:52:42
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)






-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Coder1994
Отправлено: 21 Июня, 2011 - 16:59:52
Post Id


Частый гость


Покинул форум
Сообщений всего: 213
Дата рег-ции: Май 2010  
Откуда: Россия, Ростов-на-Дону


Помог: 3 раз(а)




Вам поможет:
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. ?>

(Добавление)
или же

(Отредактировано автором: 21 Июня, 2011 - 17:09:57)

 
 Top
СЕРьГА
Отправлено: 21 Июня, 2011 - 18:51:40
Post Id


Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Coder1994 пишет:


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


но там больше половины по-английски((
 
 Top
OrmaJever Модератор
Отправлено: 21 Июня, 2011 - 18:57:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




СЕРьГА пишет:
А нельзя ли поточнее - куда именно вставить этот код?

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

Не понял Там всё описание на русском!


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Slavenin
Отправлено: 21 Июня, 2011 - 19:18:56
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




СЕРьГА, возможно стоит для начала освоить этот раздел? вы бы еще аяксом через айфрейм пробовали загружать, просто посмотреть как оно работает и поучиться. Любой путь начинается с первого шага, а первый шаг это понимание задачи и пути ее реализации, т.е. составление алгоритма, затем изучение синтаксиса и конструкций нужного языка и только потом реализация. Понять по реализации алгоритм и синтаксис можно при наличии нескольких уже изученных языков в эмпирическом запасе да и то до конца все можно не понять. Учите матчасть Все ходы записаны Подмигивание
 
 Top
СЕРьГА
Отправлено: 21 Июня, 2011 - 21:40:36
Post Id


Гость


Покинул форум
Сообщений всего: 81
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Так я и знал, что вы пошлёте меня к самому началу Огорчён Учил я это уже. Вам так трудно просто сказать, куда вставить этот код?:

chmod("files", 0777);
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB