1

Определение наличия файла

13.06.2006, 20:49. Показов 11807. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите, как можно определить при помощи JS, есть или нет файл с определённым названием в заранее заданной папке?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2006, 20:49
Ответы с готовыми решениями:

Проверка наличия у посетителя одного файла куки и дальнейшие действия
Всем привет! Нужна помощь... Как проверить наличие у посетителя файла куки с данным именем и при...

определение файла, в контексте которого выполняется функция
Есть ли возможность в JS определять текущий файл скрипта, в котором выполняется код? Т.е., к...

math.round(img6.fileSize) - определение размера файла
В цикле пытаюсь вводить из массива имя файла и определить его размер (ширина и высота - без...

Определение наличия элемента input в dom дереве страницы
Уже есть куча скриптов для страницы которая добавляет содержимое, или изменяет параметры элементов....

21
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
13.06.2006, 21:42 2
К счастью, никак.
0
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
13.06.2006, 23:00 3
гость (13.06.2006)
Подскажите, как можно определить при помощи JS, есть или нет файл с определённым названием в заранее заданной папке?
Если на локальном компьютере и под Виндовс, то можно =)
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function ReadFiless() {
var fso, f, f2;
  var ForReading = 1;
  fso = new ActiveXObject("Scripting.FileSystemObject");
 f2 = fso.OpenTextFile("Имя_файла_для_открытия.txt", ForReading);
if (f!=null) {
//Если файл существует
f2.close()
}
else {
 throw "Файл не существует!"
}
}
function GetEverything() {
try { ReadFiless() }
catch (error) {
var test=confirm(error+" Создать файл!")
if (test) {
var fso, f, f1;
  var ForReading = 1, ForWriting = 2;
  fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile("Имя_файла_для_открытия.txt", ForWriting, true);
f.Write("Запишем любой текст в файл");
f.Close();
}
else {
alert("Никаких действий!");
}
}
}
0
14.06.2006, 14:49 4
Да в том всё и дело, что мне не нужно читать содержимое файла. В моём случае - это галерея картинок. Просто скрипт выдаёт их по очереди после нажатия кнопки "далее", а когда доходит до последнего изображения, я не знаю как определить, что дальше файлов нет... Причём заранее мне не известно, сколько картинок в папке (они просто пронумерованы по порядку) :-(
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
14.06.2006, 16:53 5
2 гость

Насколько я понимаю картинки для галлерии на сервере хранятся. Зачем тогда с помощью JavaScript проверять наличие файла? Я могу понять этот только в том случае, если пишешь на ASP с использованием JavaScript как серверного языка. Тогда совет Vizlim'a тебе подходит, с небольшим уточнением:
Javascript
1
2
3
4
5
6
var objFSO = Server.CreateObject("Scripting.FileSystemObject")
var fullPath = Server.MapPath("/images/pic003.gif')
if (objFSO.FileExists(fullPath))
{
// Файл существует
}
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
14.06.2006, 16:59 6
Или еще лучше, на стороне сервера определить сколько файлов в галлерее и установить переменную JavaScript где будет указано максимальное кол-во файлов. И не надо никаких проверок на существование файла.
0
14.06.2006, 22:14 7
Это было бы совсем классно. Тогда как можно посчитать количество файлов в папке?
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
15.06.2006, 14:56 8
Например, так:
Javascript
1
2
3
4
5
6
<%@ Language='JScript' %>
<%
var objFSO = Server.CreateObject('Scripting.FileSystemObject');
var objFolder = objFSO.GetFolder(Server.MapPath('/i/'));
Response.Write('Files count: '+objFolder.Files.Count);
%>
0
0 / 0 / 0
Регистрация: 15.06.2006
Сообщений: 3
15.06.2006, 17:47 9
А как записать это значение в переменную?
0
0 / 0 / 0
Регистрация: 15.06.2006
Сообщений: 3
15.06.2006, 17:49 10
var files_num = objFolder.Files.Count;

так?
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
15.06.2006, 17:55 11
k206i
А как записать это значение в переменную?

var files_num = objFolder.Files.Count;

так?
Нет. Эта переменная останется на стороне сервера,а тебе нужно ее передать на сторону клиента.

Нужно так сделать:
Javascript
1
2
3
<script type='text/javascript'>
var files_num = <%=objFolder.Files.Count%>
</script>
0
0 / 0 / 0
Регистрация: 15.06.2006
Сообщений: 3
15.06.2006, 18:23 12
А! Понял. Т. е. в обычную JS вставить кусок серверного сценария. Спасибо. Буду пробовать.
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
15.06.2006, 18:35 13
Именно. Только внутри js файлов так нельзя делать, они не выполняются на сервере, а отдаются клиенту "как есть".
0
1386 / 528 / 66
Регистрация: 10.04.2009
Сообщений: 8,710
07.02.2021, 19:29 14
здравствуйте, тема 2006-го года
1 не сильно силён в js/script
как смог из поста № 3 сваял код:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html lang ="ru">
<head>
<title>Определение наличия файла https://www.cyberforum.ru/javascript/thread504359.html</title>
</head>
<body>
</body>
<script src="js/script.js">
function ReadFiless() {
var fso, f, f2;
var ForReading = 1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f2 = fso.OpenTextFile("d:\1.csv", ForReading);
if (f!=null) {
alert("Файл существует!")
}
else {
alert("Файл НЕ существует!")
}
}
</script>
</html>
не получилось..., как подправить?
мне только и нужно
знать наличие файла на локальном компьютере и под Виндовс
может быть-что папка в зип архиве-запаролена-сработает?
есть решение для такого случая, для двух вариантов пароль известен\не известен?
и вообще тема давнишняя, как сейчас обстоят дела по этому вопросу? спс
0
Модератор
Эксперт JSЭксперт HTML/CSS
2684 / 1756 / 760
Регистрация: 13.03.2010
Сообщений: 5,838
07.02.2021, 22:01 15
Ципихович Эндрю, js не имеет доступа к файловой системе юзера.
0
1386 / 528 / 66
Регистрация: 10.04.2009
Сообщений: 8,710
08.02.2021, 06:40 16
Цитата Сообщение от gogolik Посмотреть сообщение
js не имеет доступа к файловой системе юзера
знаю, но что за код в посте № 3?
0
Модератор
Эксперт JSЭксперт HTML/CSS
2684 / 1756 / 760
Регистрация: 13.03.2010
Сообщений: 5,838
08.02.2021, 06:54 17
Ципихович Эндрю, код 2006 года.
0
1386 / 528 / 66
Регистрация: 10.04.2009
Сообщений: 8,710
08.02.2021, 12:42 18
спрошу на всякий..и новые веяния
WebAssembly (WASM) — новый бинарный формат, позволяющий запускать код в браузере
не выручат по этому вопросу, хотя как я понял всё равно WASM будет делать джава скрипт-значит нет?
0
Эксперт JS
2454 / 1761 / 624
Регистрация: 11.07.2016
Сообщений: 4,051
08.02.2021, 15:14 19
Ципихович Эндрю, как вам уже сказали, из браузера с помощью браузерного JS вы не можете читать файловую структуру юзера. Зато Node.js вполне себе может.
1
1386 / 528 / 66
Регистрация: 10.04.2009
Сообщений: 8,710
08.02.2021, 17:14 20
ясно и сделав желаемое-на выходе я представляю 3 файла htmk+css+js, может ещё что-то от Ноде-ещё не разобрался, будет что от него?
и если нужно их юзать без инета на локальной машине, что у пользователя должно быть кроме браузера? спс
0
08.02.2021, 17:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2021, 17:14
Помогаю со студенческими работами здесь

Определение размера файла до его скачивания
Нужно определить размер файла до его скачивания (более общая задача - иногда при запросе на другой...

Определение наличия файла в проекте
Доброго времени суток. Компилятор Rad Studio XE 2 Исключаю файл из сборки проекта с помощью...

Определение наличия файла в директории
всем привет. новая беда. Данный код отлично работает от юзера, но стоит его запустить как сервис...

Определение наличия файла в папке
Доброе утро, уважаемые форумчане. Возникла такая проблема: Необходимо периодически из excel-файла...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru