У меня есть тысячи URL-адресов изображений в деревьях каталогов, как показано в примере ниже. Проблема в том, что дерево каталогов и имя файла длиннее 255 символов, и эти длинные пути обрезаются веб-сервером при загрузке по SFTP, поскольку хост сервера (по их словам, из соображений безопасности) ограничивает объединенное дерево каталогов и файл. имя длиной не более 255 символов.
Пример одного из нескольких тысяч деревьев каталогов. URL-ссылки на изображения длиной более 255 символов:
Код: Выделить всё
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUk2LfEXvKMZ48tpWUR607L5y_TRn-lXyajH_tJBOeWPqNFmfU1UV7pKginB78MHnuGS-luzq-RCIj1Z6rJ2y8VE3P93gIGeN_ZMjFii1Vnb2wZMnbyLTH241UTuu8kcvMZHFii1Vnb2wZMnbyLTH241gaZGDlgWTfx4EVdAlNFncc2XZJNz0fE0-JK1iDP7WgLEJWNg/w640-h196/Oscar.png
Итак: как я могу обрезать самую длинную часть дерева каталогов, а именно эту,
Код: Выделить всё
/AVvXsEhUk2LfEXvKMZ48tpWUR607L5y_TRn-lXyajH_tJBOeWPqNFmfU1UV7pKginB78MHnuGS-luzq-RCIj1Z6rJ2y8VE3P93gIGeN_ZMjFii1Vnb2wZMnbyLTH241UTuu8kcvMZHFii1Vnb2wZMnbyLTH241gaZGDlgWTfx4EVdAlNFncc2XZJNz0fE0-JK1iDP7WgLEJWNg/
Т.е. на это:
Код: Выделить всё
/AVvXsEhUk2LfEXvKMZ48tpWUR6/
Код: Выделить всё
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUk2LfEXvKMZ48tpWUR6/w640-h196/Oscar.png
Я не знаю, с чего начать.
Я могу получить все изображения в исходном дереве каталогов с помощью wget, но я не могу загрузить другой сервер с ограничением в 255+ символов дерева . Мне нужно сохранить часть исходного дерева каталогов, чтобы предотвратить перезапись подкаталогов и файлов.
Полагаю, мне нужно будет использовать PHP glob и foreach на моем локальном сервере для обхода каталога img. /b/R29vZ2xl/, а также найти и обрезать/обрезать все имена подкаталогов до /AVvXsE и следующих 20 символов.
Нужно ли мне регулярное выражение, чтобы определить, как усечь/обрезать имена? Или использовать обрезку PHP?
Подробнее здесь: https://stackoverflow.com/questions/787 ... y-with-php