У этого скрипта есть ещё одна не явная проблема. Скрипт коверкает все файлы с названием на кириллице, и превращает их в не рабочие. Я долго не мог понять, почему у меня некоторые файлы бьются, и вот нашел причину.
Возможно даже проблема не в самом скрипте, а в способе архивации. Я только что средствами хостинга сделал архив в tar, и все названия, в том числе на кириллице остались.
Можно ли с этим что то сделать?
61. Parapsixolog - 7 мая 2018 — 12:31 - перейти к сообщению
62. - 7 мая 2018 — 14:58 - перейти к сообщению
А что за файлы на кириллице у вас на форуме?
63. Parapsixolog - 7 мая 2018 — 18:13 - перейти к сообщению
Штук 25 картинок.
64. - 8 мая 2018 — 01:14 - перейти к сообщению
Parapsixolog
Проблема в библиотеке pclzip.lib.php - она плохо дружит с кириллицей.
Попробуйте такой совет.
Найдите строку
и замените её строкой
У меня такой номер не срабатывает, но у меня и проблем с кодировками нет - без всяких изменений скрипт нормально архивирует и распаковывает кирилические файлы. Возможно потому что у меня сервак крутится под виндой.
Попробуйте скрипт на Денвере прогнать - должен отработать без искажений.
Проблема в библиотеке pclzip.lib.php - она плохо дружит с кириллицей.
Попробуйте такой совет.
Найдите строку
CODE:
$p_header['filename'] = fread($this->zip_fd, $p_header['filename_len']);
и замените её строкой
CODE:
$p_header['filename'] = iconv( "cp866", "cp1251", fread($this->zip_fd, $p_header['filename_len'] ));
У меня такой номер не срабатывает, но у меня и проблем с кодировками нет - без всяких изменений скрипт нормально архивирует и распаковывает кирилические файлы. Возможно потому что у меня сервак крутится под виндой.
Попробуйте скрипт на Денвере прогнать - должен отработать без искажений.
65. - 8 мая 2018 — 02:14 - перейти к сообщению
А ещё мне пришла в голову мысль, что возможно у вас проблемы вызваны тем, что сам скрипт бекапа в UTF-8 а форум у вас в Win-1251
66. Parapsixolog - 8 мая 2018 — 10:42 - перейти к сообщению
NordWest пишет:
А ещё мне пришла в голову мысль, что возможно у вас проблемы вызваны тем, что сам скрипт бекапа в UTF-8 а форум у вас в Win-1251
Да, вполне возможно.
67. - 9 мая 2018 — 00:59 - перейти к сообщению
Parapsixolog
Два дня угробил, но вроде не зря. Удалось втиснуть в библиотеку возможность выбора кодировки. Ещё немного помучаю и выложу.
Два дня угробил, но вроде не зря. Удалось втиснуть в библиотеку возможность выбора кодировки. Ещё немного помучаю и выложу.
68. - 9 мая 2018 — 22:30 - перейти к сообщению
Parapsixolog
Попробуйте этот вариант бекапера - всё что можно было перевёл на windows-1251
Попробуйте этот вариант бекапера - всё что можно было перевёл на windows-1251
69. Parapsixolog - 11 мая 2018 — 11:45 - перейти к сообщению
NordWest пишет:
Попробуйте этот вариант бекапера - всё что можно было перевёл на windows-1251
Уря, работает сохранение файлов на кирилице! NordWest , спасибо!
Единственное, была ошибка в строке 146 index.php - Deprecated: Function eregi() ...
Я в интернете нашел решение. Строку
CODE:
if(eregi('subfolder',$turl)) {
заменил на
CODE:
if(preg_match("/subfolder/i",$turl)) {
Кстати, откуда вообще функция eregi взялась? У меня этот скрипт давным давно закачен на сервер, и в строке 146 сразу было preg_match.
70. Yamaliya - 11 мая 2018 — 11:58 - перейти к сообщению
Parapsixolog пишет:
Это решение есть несколькими постами выше.
Я в интернете нашел решение.
71. Parapsixolog - 12 мая 2018 — 11:09 - перейти к сообщению
Yamaliya , действительно есть, а я не обратил внимание.
Но мне всё таки интересно, почему эта правка у меня уже давно была? Похоже я сделал её и забыл. Память дырявая.
Но мне всё таки интересно, почему эта правка у меня уже давно была? Похоже я сделал её и забыл. Память дырявая.
72. - 12 мая 2018 — 11:43 - перейти к сообщению
Parapsixolog пишет:
А причем здесь вы. Это меня функция eregi не беспокоит - потому я её и не подменил.
Но мне всё таки интересно, почему эта правка у меня уже давно была? Похоже я сделал её и забыл.
73. Parapsixolog - 12 мая 2018 — 12:41 - перейти к сообщению
NordWest , вы меня не поняли. У меня в этом скрипте и раньше не было ошибки Deprecated: Function eregi() ...
А в вашем варианте она сразу вылезла, вот я и стал разбираться. Изначально в скрипте igrok54 стоит функция eregi, а у меня она заменена на preg_match Правка же эта не могла сама ни откуда взяться? Вот я пишу, что похоже сам, давно ещё её ввел, и забыл. Версия пхп 5.3 у меня стоит с тех пор, как я переехал в 2014 году, вот тогда и правку наверное сделал.
NordWest, ещё раз спасибо за адаптацию скрипта к кириллице. Теперь я могу заливать любые файлы с кириллическими названиями, и они корректно бекапятся.
А в вашем варианте она сразу вылезла, вот я и стал разбираться. Изначально в скрипте igrok54 стоит функция eregi, а у меня она заменена на preg_match Правка же эта не могла сама ни откуда взяться? Вот я пишу, что похоже сам, давно ещё её ввел, и забыл. Версия пхп 5.3 у меня стоит с тех пор, как я переехал в 2014 году, вот тогда и правку наверное сделал.
NordWest, ещё раз спасибо за адаптацию скрипта к кириллице. Теперь я могу заливать любые файлы с кириллическими названиями, и они корректно бекапятся.
74. Yamaliya - 12 мая 2018 — 12:55 - перейти к сообщению
NordWest пишет:
Это меня функция eregi не беспокоит - потому я её и не подменил.
Если отключить запись ошибок в лог или логи не просматривать, то тогда ваще многое не беспокоит
75. - 12 мая 2018 — 14:44 - перейти к сообщению
Yamaliya пишет:
Ошибки в PHP включены. Просто у меня версия PHP 5.2 - для этой версии функция eregi ещё не является устаревшей.
Если отключить запись ошибок в лог или логи не просматривать