![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
kostofffan |
|
|||
Unregistered |
Доброго времени суток всем!
Подскажите, как можно загрузить файлы с клиентского компа на сервер? К примеру, картинку 'C:\some_dir\picture.jpg' Заранее спасибо! |
|||
|
||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Вобще-то эта тема уже не раз обсуждалась. Вот тебе пример, думаю там всё понятно. Если возникнут трудности с пониманием, пиши. Просто у меня сейчас нет такой возможности пояснять каждую строку. Потому лучше я поясню то, чего ты не понял.
Удачи. Это сообщение отредактировал(а) korob2001 - 20.5.2005, 14:34 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
kostofffan |
|
|||
Unregistered |
korob2001, спасибо тебе! Всё понятно.
Я вообще-то уже натыкался на вот этот read(), используемый для загрузки. Просто не был уверен, что его можно использовать именно в данной проблеме. В общем, сенкс! |
|||
|
||||
kostofffan |
|
|||
Unregistered |
Появилась проблемка с загрузкой!
Вот такая прога:
Попробовал её под Apache на своём компе (ОС - винда 98). Рисунок не хочет грузится. Путь задаётся из поля: <input type=file name=f> Может не так задаётся имя файла. По ходу, $file принимает значение типа "C:\pic.jpg". Подскажите, в чём бок!!! |
|||
|
||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Проблема скорее всего в теге <form>, правда ты его не привё здесь. Вобщем проверь если ты выводил тег <form> HTML тегами, то он должен выглядеть примерно так:
Если выводишь форму с помощью CGI.pm, то просто вместо метода start_form() используй, start_multipart_form() Удачи. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
kostofffan |
|
|||
Unregistered |
Я так понял, что здесь самым главным является именно enctype='multipart/form-data'. Я этот атрибут не выводил...
|
|||
|
||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Если форма будет загружать файлы с клиентского компа, то его нужно указывать всегда. По умолчанию этот атрибут: application/x-www-form-urlencoded
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
Nika |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 19.9.2005 Где: Красноярск Репутация: нет Всего: нет |
Здравствуйте. Я прочитала статьи из вашего форума на тему зугрузки файлов на сервер.
Файл создается на сервере, вот только 0 байт. Почему? Где я чего не понимаю и не так делаю? ![]() |
|||
|
||||
korob2001 |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Проблема скорее всего в том, что ты теряешь дескриптор файла. Попробуй сделать это присвоение таким образом:
Либо передавай ссылку на $atr, если это подпрограмма. Так же обрати внимание на отрибут enctype, тега <form>:
Если не поможет, выложи код, как ты получаешь параметры. Это сообщение отредактировал(а) korob2001 - 17.5.2006, 15:10 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||
|
|||||||
sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 2 Всего: 28 |
$file должен быть открытым файловым дескрипоторм.
Добавлено @ 15:56 Что содержит в себе $atf? -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
Nika |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 19.9.2005 Где: Красноярск Репутация: нет Всего: нет |
$atf- это имя файла, которое я получила с помощью <INPUT type="file" name="atfile">
Я делала без модуля CGI, так что функцией upload воспользоваться не удасться... ![]() ![]() |
|||
|
||||
Nika |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 19.9.2005 Где: Красноярск Репутация: нет Всего: нет |
Ага, я наткнулась на те же грабли. Не указала enctype='multipart/form-data'. Косяк. Вот только не знаю, как это
xx7YNMS251WFtLgcHCUxdQW8L7iBqQEnLJJhdmjilGveZZGqmjmN9IV Content-Disposition: form-data; name="from" g g g ------------xx7YNMS251WFtLgcHCUxdQW8L7iBqQEnLJJhdmjilGveZZGqmjmN9IV Content-Disposition: form-data; name="to" [email protected] ------------xx7YNMS251WFtLgcHCUxdQW8L7iBqQEnLJJhdmjilGveZZGqmjmN9IV Content-Disposition: form-data; name="subject" dfghdh ------------xx7YNMS251WFtLgcHCUxdQW8L7iBqQEnLJJhdmjilGveZZGqmjmN9IV Content-Disposition: form-data; name="atfile"; filename="mysqlaccess.log" Content-Type: text/x-log ------------xx7YNMS251WFtLgcHCUxdQW8L7iBqQEnLJJhdmjilGveZZGqmjmN9IV Content-Disposition: form-data; name="attach" прикрепить ------------xx7YNMS251WFtLgcHCUxdQW8L7iBqQEnLJJhdmjilGveZZGqmjmN9IV Content-Disposition: form-data; name="text" dfhdfhdhdh ------------xx7YNMS251WFtLgcHCUxdQW8L7iBqQEnLJJhdmjilGveZZGqmjmN9IV-- обрабатывать, но придумаю. А может у кого есть процедурка, которая помогает получить имена и значения передаваемых параметров? ![]() |
|||
|
||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Модуль CGI:
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
Nika |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 19.9.2005 Где: Красноярск Репутация: нет Всего: нет |
что-то не получаетя....
Это страница.
$query= ------------9Yo4YOYQ0fXyslVMftYbEM7TSidDL9aUgOXEm5emjAkbvDva6T9KqFl Content-Disposition: form-data; name="from" g g g ------------9Yo4YOYQ0fXyslVMftYbEM7TSidDL9aUgOXEm5emjAkbvDva6T9KqFl Content-Disposition: form-data; name="to" Veronika ------------9Yo4YOYQ0fXyslVMftYbEM7TSidDL9aUgOXEm5emjAkbvDva6T9KqFl Content-Disposition: form-data; name="subject" RE: dfgdgd ------------9Yo4YOYQ0fXyslVMftYbEM7TSidDL9aUgOXEm5emjAkbvDva6T9KqFl Content-Disposition: form-data; name="atfile"; filename="" ------------9Yo4YOYQ0fXyslVMftYbEM7TSidDL9aUgOXEm5emjAkbvDva6T9KqFl Content-Disposition: form-data; name="attach" прикрепить ------------9Yo4YOYQ0fXyslVMftYbEM7TSidDL9aUgOXEm5emjAkbvDva6T9KqFl Content-Disposition: form-data; name="text" Вы писали Tue, 16 May 2006 12:13:48 +0400 : Жуки@Mail.ru - маленькие герои в мире большого спорта! http://r.mail.ru/cln3055/zhuki.mail.ru/ ------------9Yo4YOYQ0fXyslVMftYbEM7TSidDL9aUgOXEm5emjAkbvDva6T9KqFl-- $sendmail=param('sendmail'); $attach=param('attach'); $savemail=param('savemail'); $back=param('back'); $reply=param('reply'); $resend=param('resend'); $sid=param('sid'); а эти переменные пустые. P.s. модуль я подключила. Может, это от того что форму я печатаю "ручками", т.е. не с помощью модуля CGI? |
||||
|
|||||
Nika |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 19.9.2005 Где: Красноярск Репутация: нет Всего: нет |
я нашла ошибку. Не надо было делать так
до того, как сделала $sendmail=param('sendmail'); Вот и все ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |