![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| mad_doc |
|
|||
|
Unregistered |
Помогите разобраться с такой проблемой, из БД грузятся ссылки на разные файлы (.doc, .xls, pdf, chm ........)
Все это отображается в броузере ИЕ на странице .cgi Выдает 500 ошибку, в логе [Wed May 11 02:00:32 2005] [error] [client 127.0.0.1] /home/site/cgi-bin/materials/p1010876.jpg is not executable; ensure interpreted scripts have "#!" first line [Wed May 11 02:00:32 2005] [error] [client 127.0.0.1] (2)No such file or directory: couldn't spawn child process: /home/site/cgi-bin/materials/p1010876.jpg |
|||
|
||||
| CPLUSPLUS |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 22.10.2003 Репутация: нет Всего: 2 |
Нужен код....
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Наверное у тебя графический файл лежит в рабочем каталоге, вот он и говорит тебе о том, что не может запустить файл на выполнение, так как в нём, в первой строке не указан путь к Perl интерпретатору, потому как его там и не должно быть. Вобщем вынеси все файлы .xls, .pdf, .jpg, .gif и т.д. из каталога /cgi-bin, затем измени пути к ним в БД. Удачи. Это сообщение отредактировал(а) korob2001 - 11.5.2005, 09:32 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Спасибо, но после перенесения в другую папку запускаются только картинки, да и то, только в текущем окне?
|
|||
|
||||
| mad_doc |
|
|||
|
Unregistered |
это сверху я был
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
А что значит запускается???? Покажи часть кода, где ты запускаешь один из этих файлов.
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Код как код <a href=$data_path$arc[5] target=_blank>Файл</a>
|
|||
|
||||
| korob2001 |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Вообще-то всё верно и не может быть, что бы такая ссылка открывала документ в текущем окне. Скорее всего скорее всего проблема в путях. Попробуй создай в корне ( рядом с /cgi-bin ), каталог /files, т.е. у тебя должна получиться такая структура:
Теперь измени значения переменных:
Насколько я понял, то елеменит массива $arc[5] инициализируется из БД, если да и в БД указанны только имена файлов, то ничего менять не нужно. И последнее, захвати весь генерируемый путь в двойные кавычки и выдели имена пременных фигурными скобками, так будет более наглядно:
Просто если у тебя в пути будет присутствовать хоть один пробел, то браузер тебя может не понять, если путь не будет захвачен в кавычки. Если все вышесказанное не поможет, то попробуй изменить путь в переменной $data_path, на полный:
Это сообщение отредактировал(а) korob2001 - 11.5.2005, 16:29 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||
|
|||||||||
| Guest |
|
|||
|
Unregistered |
Спасибо, справился!
Проблема была действительно в путях. |
|||
|
||||
| maddoc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 364 Регистрация: 11.5.2005 Репутация: нет Всего: 1 |
Опять проблема
Закачиваю файл, данный код имеется в 4 местах, в трех все ок, а в четвертом не работает, проблема с тем, что while не отрабатывает Передаю $path как и везде это обычная форма type=file Везде ок, а тут? while($bytesread=read($path, $buffer, 512)) {$binfile.=$buffer;} $pathname = $path; $position = rindex($pathname, "\\") + 1; $filename = substr($pathname, $position); open F,">$data_pic_path$filename"; binmode F; print F $binfile; close F; -------------------- "Безвыходных положений не бывает" (с) Камасутра |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
А в переменной $pathname путь точно указан с обратными слешами??? ЗЫ: А зачем ты читаешь весь файл в пременную ( в память ), а затем эту переменную загоняешь в файл. Записывай всё в файл в течении цикла, много памяти сэкономишь. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| maddoc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 364 Регистрация: 11.5.2005 Репутация: нет Всего: 1 |
Так вот в этом то и проблема, цикл не выполняется (while) , а
position = rindex($pathname, "\\") + 1; выполняется правильно(она извлекает название файла и его расширение из строки $pathname, при то удачно) -------------------- "Безвыходных положений не бывает" (с) Камасутра |
|||
|
||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Попробуй так.
Много памяти сэкономишь. Зы: проблема в этой строке:
Для чего тут переменная $bytesread ???? -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| maddoc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 364 Регистрация: 11.5.2005 Репутация: нет Всего: 1 |
да, проблема именно в этой строке,
а именно в том что переменная $buffer остается пустой, и сам цикл while($bytesread=read($path, $buffer, 512)) не срабатывает, хотя переменная $path не пустая, и там все ок с путями -------------------- "Безвыходных положений не бывает" (с) Камасутра |
|||
|
||||
| maddoc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 364 Регистрация: 11.5.2005 Репутация: нет Всего: 1 |
Добавлено @ 01:34 Это сообщение отредактировал(а) maddoc - 15.5.2005, 01:30 -------------------- "Безвыходных положений не бывает" (с) Камасутра |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |