[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: через форму принять txt и обработать
denlam
Есть форма для загрузки текстового файла

<form action="add.php" method="post" enctype="multipart/form-data">

<p><input
type="file" name="userfile" id="file"></p>
<input
type="hidden" name="zzzz" id="file">
<p><input
type="submit" value="Загрузить номерки"></p>

</form>


обработчик формы

if(isset($_POST[zzzz]))
{
$allowed_filetypes = array('.txt'); // Здесь мы перечисляем допустимые типы файлов


$max_filesize = 524288; // Максимальный размер загружаемого файла в байтах (в данном случае он равен 0.5 Мб).


$upload_path = 'txt/'; // Место, куда будут загружаться файлы (в данном случае это папка 'files').


$filename = $_FILES['userfile']['name']; // В переменную $filename заносим точное имя файла (включая расширение).


$ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); // В переменную $ext заносим расширение загруженного файла.


// Сверяем полученное расширение со списком допутимых расширений, которые мы определили в самом начале. Если расширение загруженного файла не входит в список разрешенных, то прерываем выполнение программы и выдаем соответствующее сообщение.



if(!in_array($ext,$allowed_filetypes))

die('Данный тип файла не поддерживается.');


// Теперь проверим размер загруженного файла и если он больше максимально допустимого, то прерываем выполнение программы и выдаем сообщение.


if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize)

die('Фаил слишком большой.');


// Проверяем, доступна ли на запись папка, определенная нами под загрузку файлов (папка files). Если вдруг недоступна, то выдаем сообщение, что на папку нужно поставить права доступа 777.


if(!is_writable($upload_path))

die('Невозможно загрузить фаил в папку. Установите права доступа - 777.');


// Загружаем фаил в указанную папку.

if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $filename))


echo 'Ваш фаил успешно загружен <a href="' . $upload_path . $filename . '">смотреть</a>';

else

echo 'При загрузке возникли ошибки. Попробуйте ещё раз.';

}




Так как никогда с файлами не работал, обработчик недоделан. нужно чтобы он считал этот файл и сохранил в переменную $content, после чего удалил этот файл.

Пожалуйста помогите допишите этот код!



Спустя 5 минут, 3 секунды (10.06.2010 - 21:21) Gabriel написал(а):
так в таком случае там всеголиш убрать функцию переноса файла из временной дериктории и добавить аж целую одну функцию file_get_contents();.

Спустя 51 секунда (10.06.2010 - 21:22) buyskih написал(а):
$content = file($_FILES['userfile']['tmp_name']);

Спустя 8 минут, 6 секунд (10.06.2010 - 21:30) denlam написал(а):
Цитата (Gabriel @ 10.06.2010 - 18:21)
так в таком случае там всеголиш убрать функцию переноса файла из временной дериктории и добавить аж целую одну функцию file_get_contents();.

скажи точнее что нужно убрать и что добавить

Спустя 3 минуты, 53 секунды (10.06.2010 - 21:34) denlam написал(а):
Цитата (buyskih @ 10.06.2010 - 18:22)
$content = file($_FILES['userfile']['tmp_name']);

Warning: file(/home/users/d/denlam/tmp/php9kvawe) [function.file]: failed to open stream: Нет такого файла или каталога in /home/users/d/denlam/domains/m.icq123.ru/admin/add.php on line 89

Спустя 58 секунд (10.06.2010 - 21:35) Gabriel написал(а):
1. убрать функцию которая переносит файл из временной директории в ту которую ты указываеш.
2. а вот то, что нужно добавить написал.

Спустя 3 минуты, 8 секунд (10.06.2010 - 21:38) denlam написал(а):
о, всё=) спасибо большое! разобрался!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.