vaibhav10Dec1987 Ответов: 3

как получить полный путь к файлу из файла входного типа?


Привет,
как получить полный путь к файлу из файла входного типа?

Rockstar_

Входной тип файла? Плз опишите?

vaibhav10Dec1987

<input id="txtFile" type="file"/>
В них при добавлении файла с помощью кнопки обзора. как получить полный путь к этому имени файла.

3 Ответов

Рейтинг:
24

Palash Mondal_

Вы не можете: это функция безопасности во всех современных браузерах.

Для IE8 он выключен по умолчанию, но может быть повторно активирован с помощью параметра безопасности:

When a file is selected by using the input type=file object, the value of the value property depends on the value of the "Include local directory path when uploading files to a server" security setting for the security zone used to display the Web page containing the input object.

The fully qualified filename of the selected file is returned only when this setting is enabled. When the setting is disabled, Internet Explorer 8 replaces the local drive and directory path with the string C:\fakepath\ in order to prevent inappropriate information disclosure.


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


Prasad Khandekar

Очень хорошее объяснение. +5.

Рейтинг:
0

Prasad Khandekar

Привет,

Вот небольшой пример, демонстрирующий это. Надеюсь, это то, что вы ищете.

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function showFileName() {
   var fil = document.getElementById("myFile");
   alert(fil.value);
}
</script>
</head>
<body>
<form id="frmMain" name="frmMain">
    <input type="file" id="myFile" name="myFile"/>
    <a href="#" onclick="showFileName()">Show Name</a>
</form>
</body>
</html>

ПримечаниеПо соображениям безопасности большинство браузеров будут возвращать только имя файла, а не полный путь и имя файла. Браузеры IE6 и ниже вернут вам желаемое значение

С уважением,


vaibhav10Dec1987

Спасибо за вашу помощь.
В этом случае я получил только "имя файла".Но в моем сценарии я хочу получить "полный путь к файлу
с именем файла".

Prasad Khandekar

По соображениям безопасности большинство браузеров будут возвращать только имя файла IE-8, однако вернут поддельный путь. IE 6 и ниже браузеры фактически вернут вам желаемое значение.

С уважением,

Member 11035041

Я хочу поделиться некоторыми данными файла из jsp в java, поэтому мне нужен точный путь к файлу...
Кто-нибудь постарается и разместит здесь как можно скорее

Prasad Khandekar

Не могли бы Вы уточнить свое требование? Какой именно смысл знать полный путь к файлу на компьютере пользователя?

Member 11146598

Привет, спасибо за это.

Могу ли я получить путь в других браузерах, кроме IE.

Я имею в виду, может ли ваше решение работать в другом браузере(Google Chrome) с любыми настройками.

Рейтинг:
0

Member 14940676

Цитата:
Как работает INPUT type = file?
Первый шаг. Сервер создает временную папку и помещает туда файл.
$ name_file_avatar = $ _FILES ['myfile'] ['name']; // имя файла picter
$ tmp_dir указан = переменную $ _FILES ['файл myfile'] ['tmp_name']; // хранилище временных файлов-каталог
$ destiation_dir = '/var/www/Your_site/download/'.$name_file_avatar;//полный путь
Два этапа. Используйте функцию move_uploaded_file () и переместите файл в свою папку.
$ destiation_dir = '/var/www/Your_site/download/'.$name_file_avatar;
move_uploaded_file ($ tmp_dir, $ destiation_dir);
Возможная ошибка.
1. Узнайте код ошибки php. Поместите этот код в начало вашего php.
безопасность ('предназначенных', состав e_all); безопасность ('что display_errors', 1); безопасность ('display_startup_errors', 1);
2. Папка должна быть доступна 777. Это проверить.
3. Тег должен иметь enctype = "multipart / данные формы" метод = "сообщение" атрибут.
&ЛТ; форме enctype = "multipart / данные формы" метод = "сообщение" и GT;
4. Полностью открывать и просматривать массива $ _FILES на сервере.
print_r ($ _FILES больше);
5. Откройте и просмотрите массив $ _FILES на клиенте.
файл = документ.метода getElementById ("get_avatar"). files [0]; parts = file.name.split ('.');
ВАР а = файл.размер; ВАР б = частей.поп (); ВАР с = файл.тип; предупреждение (а + в + с);
6. Проверьте права пользователя и группы пользователей на каталог.
cd / var / www / your_site / user
ls -l
Новые подробности: http://profi.spage.me/php/check-file-input-on-php-and-jquery-why-error