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

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


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

> Без описания
foozzi
Отправлено: 05 Ноября, 2011 - 17:11:45
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


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




в чет дело то, пишет что не загрузился файл... вот код:

PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  4.                 <link rel="stylesheet" type="text/css" media="all" href="style.css">
  5.         </head>
  6.         <body>
  7.                 <table width="100%" height="100%"><tr valign="center"><td align="center" nowrap><div id="upload">
  8.  
  9.  
  10. <?PHP
  11.  
  12. /* Загрузка файлов с запретом исполняемых файлов */
  13. /* Только блеадь почему то не робит... */
  14.  
  15. /* Создаем паттерн, где есть список запрещенных файлов по расширению */
  16. if (@$_POST ['upload'] == "")
  17. {
  18.                                 echo 'Выберите файл | Максимальный размер 2000 MB | Запрещенно заливать исполняемые файлы<br><br>';
  19.                                 echo '<form enctype="multipart/form-data" action="" method="post">';
  20.                                 echo '<input type="hidden" name="MAX_FILE_SIZE" value="30000">';
  21.                                 echo '<input type="file" name="file" size="45">';
  22.                                 echo '<input type="submit" value=" Грузить! " name="upload">';
  23.                                 echo '</form>';
  24.                         } else {
  25.  
  26. $blacklist = '/.(com|bat|exe|cmd|vbs|msi|jar|php(\d?)|phtml|access|js)$/i'; // патерт с запрещенными файлами
  27. /* Если файл содержит запрещенное разрешение - выход с уведомлением*/
  28. if (preg_match($pattern, $_FILES['file']['name']))
  29. {
  30.    exit ("Файл с данным расширением запрещен к загрузке");
  31. }
  32.  
  33. $upload_dir = '/uploads/'; // папка
  34. $upload_path = dirname (__FILE__).$upload_dir; //путь
  35. $upload_filename = $upload_dir . basename($_FILES['file']['tmp_name']); // имя файла не изменное
  36. $upload_link = "http://".$_SERVER ["HTTP_HOST"].dirname ($_SERVER ["PHP_SELF"]).$upload_dir.$upload_filename; // образовывает ссылку на скачивание
  37.  
  38. if (@move_uploaded_file($_FILES['file']['tmp_name'], $upload_path.$upload_filename))  
  39. {
  40.      echo "Файл загружен.\n";
  41.      echo "Линки:<br>";
  42.      echo "<input type='text' size=80 onclick='this.select()' value='".$upload_link."'><br><br>";
  43.      echo "HTML Линк:<br>";
  44.      echo "<input type='text' size=80 onclick='this.select()' value=\"<a href='".$upload_link."'>".$upload_link."</a>\"><br><br>";
  45.      echo "BB-Code Линк:<br>";
  46.      echo "<input type='text' size=80 onclick='this.select()' value='[url]".$upload_link."[/url]'><br><br>";
  47.      echo "<a href='?".md5(microtime())."'>Загрузить другой файл</a>";
  48.  }
  49. else
  50. {
  51.    echo "Файл не загружен.\n";
  52. }
  53. }
  54. ?>
  55.  
  56.  
  57.  
  58. </body>
  59. </html>
  60.  


в чет дело то?

ниже архив с файлом прикрепил, кому удобней будет
Скачать файл: files.zip
Скачан раз: 78

(Отредактировано автором: 05 Ноября, 2011 - 17:12:52)



-----
90% ошибок находятся в полуметре от монитора...
 
 Top
sKaa
Отправлено: 05 Ноября, 2011 - 17:25:54
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


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

[+]


Хотелось бы увидеть саму форму
 
 Top
Мелкий Супермодератор
Отправлено: 05 Ноября, 2011 - 17:26:20
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




http://phpfaq[dot]ru/debug
особенно пункты 1 и 4


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 05 Ноября, 2011 - 17:30:42
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




sKaa так увидь ))
foozzi права?
 
 Top
foozzi
Отправлено: 05 Ноября, 2011 - 17:53:35
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


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




Notice: Undefined variable: pattern in /var/www/files/index.php on line 30 Warning: preg_match(): Empty regular expression in /var/www/files/index.php on line 30


-----
90% ошибок находятся в полуметре от монитора...
 
 Top
LIME
Отправлено: 05 Ноября, 2011 - 17:57:12
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




foozzi пишет:
$blacklist = '/.(com|bat|exe|cmd|vbs|msi|jar|php(\d?)|phtml|access|js)$/i'; // патерт с запрещенными файлами
/* Если файл содержит запрещенное разрешение - выход с уведомлением*/
if (preg_match($pattern, $_FILES['file']['name']))
ну все верно
переменные то разные
 
 Top
foozzi
Отправлено: 05 Ноября, 2011 - 18:39:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


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




исправил, все равно не загружает, ошибок не выводит никаких, chmod -R 777


-----
90% ошибок находятся в полуметре от монитора...
 
 Top
LIME
Отправлено: 05 Ноября, 2011 - 18:41:28
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




Мелкий пишет:
особенно пункты 1 и 4
выведи var_dump($_FILES)
(Добавление)
попробуй copy() вместо move_uploaded_file()
если на хостинге файлы закачиваются на другой носитель то только так
 
 Top
foozzi
Отправлено: 05 Ноября, 2011 - 18:46:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


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





сервер дома, со своего харда гружу на свой же севрер

copy() пробовал, эффект тот же

(Отредактировано автором: 05 Ноября, 2011 - 18:48:59)



-----
90% ошибок находятся в полуметре от монитора...
 
 Top
LIME
Отправлено: 05 Ноября, 2011 - 18:49:48
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




foozzi пишет:
var_dump(Array)
это че за фигня
var_dump() это фция вывода
она сама по себе выводит не надо никаких echo
(Добавление)
PHP:
скопировать код в буфер обмена
  1.                         } else {
  2. var_dump($_FILES);
  3. $blacklist = '/.(com|bat|exe|cmd|vbs|msi|jar|php(\d?)|phtml|access|js)$/i'; // патерт с запрещенными файлами
  4. /* Если файл содержит запрещенное р
 
 Top
tuareg
Отправлено: 05 Ноября, 2011 - 19:00:13
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


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




попробуйте из 38 строчки убрать собачку
if (@move_uploaded_file($_FILES['file']['tmp_name'], $upload_path.$upload_filename))
И попробуйте загрузить файл
 
 Top
LIME
Отправлено: 05 Ноября, 2011 - 19:06:58
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




tuareg
Цитата:
Если filename не является загруженным файлов, никаких действий не предпринимается и move_uploaded_file() возвращает FALSE.
а вот в массиве $_FILES есть элемент с текстом ошибки
Цитата:
$_FILES['userfile']['error'] - Начиная с версии 4.2.0, содержит код ошибки, который равен 0, если операция прошла успешно.
 
 Top
tuareg
Отправлено: 05 Ноября, 2011 - 19:28:51
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


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




Я и не спорю, что Ваш вариант правильный. Просто если прикинуть так.
Проблема не загружается файл.
Возможные проблемы.
Ошибка в форме.
Или загрузка произошла, но загрузилось не туда куда хотели Улыбка
Если не используем собачку, сразу узнаем, что произошло.
 
 Top
foozzi
Отправлено: 05 Ноября, 2011 - 19:45:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


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




LIME
array(1) { ["file"]=> array(5) { ["name"]=> string(8) "acig.zip" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(2) ["size"]=> int(0) } } Файл не загружен.


-----
90% ошибок находятся в полуметре от монитора...
 
 Top
LIME
Отправлено: 05 Ноября, 2011 - 19:47:45
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




http://www.php.net/manual/ru/fea...pload.errors.php
(Добавление)
значица так
сначала надо создать папку 'uploads' в текущей папке скрипта
потом изменить следующую строчку
$upload_filename = basename($_FILES['file']['tmp_name']); // имя файла не изменное
 
 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