(PHP) Опера обрезает путь к файлу

slmark
Дата: 14.09.2006 12:07:37
Столкнулся с проблемой и нигде не нашел метода ее решения:
Опера обрезает путь файла, поясняю:
<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
  print_r($_POST);
}
?>

<form action="1.php" method="post">
<input type="file" name="myfile">
<input type="submit">
</form>

При выборе файла C:\test1.txt этот код в Опере выдает:
Array ( [myfile] => test1.txt ), а в IE - Array ( [myfile] => C:\test1.txt ).
Получается, что в Опере путь к файлу обрезается. Подскажите, пожалуйста, как это победить.
Спасибо.
pamir
Дата: 14.09.2006 12:15:16
А если воспользоваться $_FILES, то что получится?
4m@t!c
Дата: 14.09.2006 12:34:18
автор
А если воспользоваться $_FILES, то что получится?

Ничего не получится.
Опера правильно делает, что обрезает путь. Зачем светить файловые пути на клиенте? И вам зачем знать, в какой папке лежит файл на клиенте?
Как вариант, попробуйте считывать значение с элемента управления и передавать это значение в скрытом поле.
----------------------------------------
Артисты не приехали, приехали цыгане
slmark
Дата: 14.09.2006 13:07:22
4m@t!c

Как вариант, попробуйте считывать значение с элемента управления и передавать это значение в скрытом поле.


Неа, не работает :).
Hratchia
Дата: 14.09.2006 13:12:56
[quot slmark]
<form action="1.php" method="post">
[/src]
enctype="multipart/form-data"
4m@t!c
Дата: 14.09.2006 13:22:43
Хм, действительно - не работает ;))).
Значит в Опере - никак.
Еще раз повторюсь, что это делается в целях безопасности клиента.
Вопрос. Зачем вам нужно знать, где у клиента лежал файл, который аплоадится?
----------------------------------------
Артисты не приехали, приехали цыгане
slmark
Дата: 14.09.2006 13:47:12
4m@t!c

Вопрос. Зачем вам нужно знать, где у клиента лежал файл, который аплоадится?


Появилась необходимость пропарсить текстовый файл. Ранее он алпоадился на сервер и уже оттуда его можно было достать. На это, судя по всему, опера отреагировала бы корректно.
Позже решили, что файл лучше не аплоадить, а сразу выбирать и парсить. Вот тут проблема и возникла :).
В принципе, приложение, которое осуществляет парсинг, будет работать только внутри фирмы и будет использоваться только под IE.
А я без задней мысли решил протестировать на Опере. А сейчас уже самому стало инетересно, как это одолеть - опыт на будущее :).
Спасибо.
Black
Дата: 14.09.2006 14:03:28
slmark
Позже решили, что файл лучше не аплоадить, а сразу выбирать и парсить. Вот тут проблема и возникла :).

Так причем тут путь?!?
Фаил Вы можете выбрать только на стороне клиента, никак не на сервере, из чего следует, все-равно придется его загружать.
4m@t!c
Дата: 14.09.2006 14:05:52
автор
Позже решили, что файл лучше не аплоадить, а сразу выбирать и парсить. Вот тут проблема и возникла :).

- Из каких соображений было принято такое решение?
- А когда вы выбираете нужный файл вы указываете сетевой путь или локальный?
- Права доступа сервера позволяют ходить по папкам пользователей или папка шаровая? почему тогда жестко на сервер не прописали путь к папке пользователя, откуда брать файл?
----------------------------------------
Артисты не приехали, приехали цыгане
slmark
Дата: 14.09.2006 18:08:23
4m@t!c

- Из каких соображений было принято такое решение?

Из-за отстутвия необходимости аплоада и присутствия файла на сервере. Файл парсится единажды.
4m@t!c

- А когда вы выбираете нужный файл вы указываете сетевой путь или локальный?

Получаю путь к файлу методом POST и загоняю в массив строки. Дальше скрипт парса.
4m@t!c

- Права доступа сервера позволяют ходить по папкам пользователей или папка шаровая? почему тогда жестко на сервер не прописали путь к папке пользователя, откуда брать файл?

Приложение стоит на компе администратора. Т.е. файлы для парса берутся непосредственно с самого сервера.