Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.07.2009, 22:01   #1
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию Загрузка файлов через WEB форму на сервер

Нужно что бы показалась страника, пользователь выбирает файл и жмет "отправить". Файл оказывается на серваке.
Чего только не пробовал. Искал в инете, вроде готовые скрипты, рабочии - у меня пустой файл создается. Максимум внутри написано его имя.
Форма вот такая:
Код:
  <form enctype="multipart/form-data" action="" metod="post">
     <input type="file" name="FILE">
      <input name="upload" value="Сохранить" type="submit">
  </form>
Скрипт..... вообщем вот варианты того чего пробовал:

Код:
    open (FL, ">$file"); 
    binmode FL; 
    while (<$Params{'FILE'}>) {
      print FL;
    }
    close (FL);
Создается файл и внутри записано его название.
Более сложный вариант:
Код:
 open(FL,">$file");
 binmode FL;
 while($bytes_read=read($Params{'FILE'},$buff,1024)){
  print FL $buff;
 }
 close(FL);
Просто пустой файл
Я так понимаю что содержимое файла передается через дескриптор, именованый как имя файла... Но что-то нифига не получается....
Sergey2 вне форума Ответить с цитированием
Старый 19.07.2009, 22:15   #2
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию

Вот так тоже пробовал - результат - пустой файл
Код:
        my $req = new CGI; 
        my $file = $req->param("FILE1"); 
        my $fileName = $file; 
        $fileName =~ s!^.*(\\|\/)!!; 
        $newmain = $fileName; 

        open (OUTFILE, ">$dir$fileName"); 
        while (my $bytesread = read($file, my $buffer, 1024)) {
            print OUTFILE $buffer; 
        } 
        close (OUTFILE);
Sergey2 вне форума Ответить с цитированием
Старый 19.07.2009, 23:13   #3
Metandrostenalon
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 108
По умолчанию

http://programmersforum.ru/showthread.php?t=57349
php,javascript
Metandrostenalon вне форума Ответить с цитированием
Старый 19.07.2009, 23:23   #4
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию

Цитата:
Сообщение от Metandrostenalon Посмотреть сообщение
Ну ты бы еще на асме пример кинул бы...
Sergey2 вне форума Ответить с цитированием
Старый 20.07.2009, 08:21   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

приблизительно так....
форма такая должна быть....

Код HTML:
 <form enctype="multipart/form-data" action="get.php" metod="post" enctype="multipart/form-data">
     <input type="file" name="FILE">
      <input name="upload" value="Сохранить" type="submit">
</form>

get.php
PHP код:
if (move_uploaded_file($_FILES['FILE']['tmp_name'],$Out)) 
{echo 
'ok';} else {echo 'error'
ADSoft вне форума Ответить с цитированием
Старый 20.07.2009, 21:13   #6
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
приблизительно так....
форма такая должна быть....

Код HTML:
 <form enctype="multipart/form-data" action="get.php" metod="post" enctype="multipart/form-data">
     <input type="file" name="FILE">
      <input name="upload" value="Сохранить" type="submit">
</form>

get.php
PHP код:
if (move_uploaded_file($_FILES['FILE']['tmp_name'],$Out)) 
{echo 
'ok';} else {echo 'error'
Если после 'error' добавить точку с запятой, то выводит error
Sergey2 вне форума Ответить с цитированием
Старый 21.07.2009, 07:09   #7
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

Цитата:
Сообщение от Sergey2 Посмотреть сообщение
Если после 'error' добавить точку с запятой, то выводит error
вы не указали куда вам надо сохранить загруженный файл ($Out)
свободен...
wall66 вне форума Ответить с цитированием
Старый 21.07.2009, 08:12   #8
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

да.... конечно же в $Out должен быть путь.... куда сохраняется файл... ну и ; конечно же нужно...
ADSoft вне форума Ответить с цитированием
Старый 22.07.2009, 00:13   #9
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию

Написал вот так:
Код:
if (move_uploaded_file($_FILES['FILE']['tmp_name'],'/www/my/')) {
все равно тоже самое. И в темповой директории (upload_tmp_dir) непоявляется ничего. Техподдерка говорит что никаких запретов и ограничений нет. Размер загружаемый файлов - 8метров.
Sergey2 вне форума Ответить с цитированием
Старый 22.07.2009, 01:30   #10
Jensi
beneto.ru
Форумчанин
 
Регистрация: 09.03.2009
Сообщений: 174
По умолчанию

А в php.ini file_uploads = On или off?
На локальном компе тоже не работает? И может стоит попробовать так:
Код:
http://sait.ru/www/my/
http://www.google.com.ua/codesearch?...title&resnum=4

p.s.: с этой функцией не работал, не пинать
Jensi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка файла на сервер Pum Работа с сетью в Delphi 11 14.03.2009 08:58
Web сервер Briz Операционные системы общие вопросы 3 13.11.2007 10:10
Загрузка картинки на форму CoDeR Работа с сетью в Delphi 5 27.07.2007 23:11
Передача файлов на WEB-сервер SeregaP Работа с сетью в Delphi 18 09.04.2007 08:41
загрузка в форму страницы с сервера... fis Работа с сетью в Delphi 1 30.01.2007 18:46