Сначала по порядку чего нужно добиться и почему. Затем что я сделал.
Вопрос можно ли упростить эту процедуру с точки зрения профессионала.
1 Использую FirefoxPortable потому что необходимо обрабатывать страницу с помощью мозрепа и т.д. порт версия хранит папку юзер профиля в своем каталоге туда же ложит кукисы. Из за кукисов это все и городится, необходимо сохранять кукисы полученные для различных пользователей. И чтоб страница узнавала только необходимого пользователя.
2 В FirefoxPortable за выбор папки профиля отвечают 2 ini файла , можно скопировав и переименовав папки, а также
изменяя содержание этих iniков добиться запуска FirefoxPortable с нужным профилем. Я это в силу своей не опытности реализовал так...
Вопрос возможно ли как то оптимизировать этот процесс(скрипт ) чтоб он не был километровым, скажем еслb пользователей будет 100. Может существуют способы изменения файлов не такие громоздкие менять то надо всего по одной строчке в файле.
Изменения в ini файлы вносятся по наличию маркерного файла в папке, найдя файл 1 загружается первый профиль, после отработки скрипта маркер удаляется и создается новый маркер 2, найдя его загружается другой профиль, в виду того что пользователи заходят в определенной последовательности то и каждый раз старый маркер удаляется а новый создается.
И еще ВОпросик в конце код, на создание и удаление файла почему то не отрабатывается, если создать скрипт только поиск и удаление и создание тогда работает , а вот в сам скрипт когда этот же кусок без изменений добавляешь, то не происходит ничего и ошибку не выдает, такое чувство что скрипт выходит раньше не подскажите почему. Все что идет после этих строчек
Вообще не исполняется как так??? так на всякий случай скрипт у меня без этих маментов
все вроде как надо.
Выявилось еще одно недоразумение команда FileOpen($pathDATAini,2) открывающая второй иник должна очистить и патом вписать то что надо, а она дописывает только в конец файла, итог начинает глюкчить в Ффокс хотя первый иник стирает и заново записывает. Почему так не пойму :'(
Вопрос можно ли упростить эту процедуру с точки зрения профессионала.
1 Использую FirefoxPortable потому что необходимо обрабатывать страницу с помощью мозрепа и т.д. порт версия хранит папку юзер профиля в своем каталоге туда же ложит кукисы. Из за кукисов это все и городится, необходимо сохранять кукисы полученные для различных пользователей. И чтоб страница узнавала только необходимого пользователя.
2 В FirefoxPortable за выбор папки профиля отвечают 2 ini файла , можно скопировав и переименовав папки, а также
изменяя содержание этих iniков добиться запуска FirefoxPortable с нужным профилем. Я это в силу своей не опытности реализовал так...
Код:
Global $pathMarker = ("путь_к_файлу\1.*") ; Фаил маркер
Global $pathMarker1 = ("путь_к_файлу\2.*") ; Фаил маркер
Global $pathMarker2 = ("путь_к_файлу\3.*") ; Фаил маркер
...
Global $pathINIroot = ("путь_к_файлу\1.ini") ; первый ини фаил
Global $pathDATAini = ("путь_к_файлу\2.ini") ; второй ини фаил
Global $rootIniLine1 = ("[FirefoxPortable]") ;содержание ини файла 1
Global $rootIniLine2 = ("User=Profile") ;< здесь надо изменить на User=Profile1
Global $rootIniLine3 = ("CheckRegWrite=true")
Global $rootIniLine4 = ("AllowMultipleInstances=false")
Global $rootIniLine5 = ("ThunderbirdAssociate=true")
Global $rootIniLine6 = ("DisableSplashScreen=false")
Global $rootIniLine7 = ("SplashScreenName=") ;содержание ини файла 1
Global $DataIniLine1 = ("[FirefoxPortable]") ;содержание ини файла 2
Global $DataIniLine2 = ("LastDirectory=D:\WorkPleac\FirefoxPortable1")
Global $DataIniLine3 = ("GoodExit=true")
Global $DataIniLine4 = ("[Profile0]")
Global $DataIniLine5 = ("IsRelative=1")
Global $DataIniLine6 = ("Name=default")
Global $DataIniLine7 = ("Path=Profile.default") ;<здесь надо изменить на Path=Profile.default
If FileFindFirstFile ($pathMarker) = 1 Then ; ищем маркер находим и перезаписываем ini фаил 1
FileOpen ($pathINIroot,2) ; открываем
FileWrite($pathINIroot, $rootIniLine1) ;пишим
FileWrite($pathINIroot, @CRLF)
FileWrite($pathINIroot, $rootIniLine2 )
FileWrite($pathINIroot, @CRLF)
FileWrite($pathINIroot, $rootIniLine3 )
FileWrite($pathINIroot, @CRLF)
FileWrite($pathINIroot, $rootIniLine4 )
FileWrite($pathINIroot, @CRLF)
FileWrite($pathINIroot, $rootIniLine5 )
FileWrite($pathINIroot, @CRLF)
FileWrite($pathINIroot, $rootIniLine6 )
FileWrite($pathINIroot, @CRLF)
FileWrite($pathINIroot, $rootIniLine7 )
FileClose($pathINIroot) ; закрывам фаил
FileOpen ($pathDATAini,2) ; открываем
FileWrite($pathDATAini, $DataIniLine1) ;пишим
FileWrite($pathDATAini, @CRLF)
FileWrite($pathDATAini, $DataIniLine2 )
FileWrite($pathDATAini, @CRLF)
FileWrite($pathDATAini, $DataIniLine3 )
FileWrite($pathDATAini, @CRLF)
FileWrite($pathDATAini, $DataIniLine4 )
FileWrite($pathDATAini, @CRLF)
FileWrite($pathDATAini, $DataIniLine5 )
FileWrite($pathDATAini, @CRLF)
FileWrite($pathDATAini, $DataIniLine6 )
FileWrite($pathDATAini, @CRLF)
FileWrite($pathDATAini, $DataIniLine7 )
FileClose($pathDATAini) ; закрывам фаил
...
ElseIf FileFindFirstFile ($pathMarker1) = 1 Then ; ищем маркер находим и перезаписываем ini фаил 1и2
...
ElseIf FileFindFirstFile ($pathMarker2) = 1 Then ; ищем маркер находим и перезаписываем ini фаил 1и2
...
ElseIf FileFindFirstFile ($pathMarker3) = 1 Then ; ищем маркер находим и перезаписываем ini фаил 1и2
...
ElseIf FileFindFirstFile ($pathMarker4) = 1 Then ; ищем маркер находим и перезаписываем ini фаил 1и2
EndIf
... ; дальше скрипт
... ; окончание скрипта
If FileFindFirstFile ($pathMarker) = 1 Then ; ищем маркер находим удоляем и создаем новый
FileOpen ($pathMarker1,2)
FileClose($pathMarker1)
FileDelete($pathMarker)
ElseIf FileFindFirstFile ($pathMarker1) = 1 Then ; ищем маркер находим удоляем и создаем новый
FileOpen ($pathMarker2,2)
FileClose($pathMarker2)
FileDelete($pathMarker1)
ElseIf FileFindFirstFile ($pathMarker2) = 1 Then ; ищем маркер находим удоляем и создаем новый
...
ElseIf FileFindFirstFile ($pathMarker3) = 1 Then ; ищем маркер находим удоляем и создаем новый
...
ElseIf FileFindFirstFile ($pathMarker4) = 1 Then ; ищем маркер находим удоляем и создаем новый
EndIf
... ; дальше скрипт
Вопрос возможно ли как то оптимизировать этот процесс(скрипт ) чтоб он не был километровым, скажем еслb пользователей будет 100. Может существуют способы изменения файлов не такие громоздкие менять то надо всего по одной строчке в файле.
Изменения в ini файлы вносятся по наличию маркерного файла в папке, найдя файл 1 загружается первый профиль, после отработки скрипта маркер удаляется и создается новый маркер 2, найдя его загружается другой профиль, в виду того что пользователи заходят в определенной последовательности то и каждый раз старый маркер удаляется а новый создается.
И еще ВОпросик в конце код, на создание и удаление файла почему то не отрабатывается, если создать скрипт только поиск и удаление и создание тогда работает , а вот в сам скрипт когда этот же кусок без изменений добавляешь, то не происходит ничего и ошибку не выдает, такое чувство что скрипт выходит раньше не подскажите почему. Все что идет после этих строчек
Код:
FileWrite($pathDATAini, $DataIniLine7 )
FileClose($pathDATAini) ; закрывам фаил
Вообще не исполняется как так??? так на всякий случай скрипт у меня без этих маментов
Код:
...
ElseIf FileFindFirstFile ($pathMarker1) = 1 Then
...
ElseIf FileFindFirstFile ($pathMarker2) = 1 Then
...
все вроде как надо.
Выявилось еще одно недоразумение команда FileOpen($pathDATAini,2) открывающая второй иник должна очистить и патом вписать то что надо, а она дописывает только в конец файла, итог начинает глюкчить в Ффокс хотя первый иник стирает и заново записывает. Почему так не пойму :'(