Но я столкнулся с одной проблемой: изображениями, загруженными в Blogger за последние несколько лет; несколько тысяч этих изображений были сохранены в пути к подкаталогу, длина которого превышает 255 символов. При использовании SFTP для загрузки каталогов и изображений на новый хостинг эти пути длиной более 255 символов усекаются новым веб-сервером, поскольку новый хост сервера (по их словам, из соображений безопасности) ограничивает объединенное дерево подкаталогов и имя файла до не более 255 символов.
Пример одной из нескольких тысяч ссылок на изображения длиной более 255 символов:
Код: Выделить всё
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUk2LfEXvKMZ48tpWUR607L5y_TRn-lXyajH_tJBOeWPqNFmfU1UV7pKginB78MHnuGS-luzq-RCIj1Z6rJ2y8VE3P93gIGeN_ZMjFii1Vnb2wZMnbyLTH241UTuu8kcvMZHFii1Vnb2wZMnbyLTH241gaZGDlgWTfx4EVdAlNFncc2XZJNz0fE0-JK1iDP7WgLEJWNg/w640-h196/Oscar.png
Моя идея состоит в том, чтобы попытаться обрезать или обрезать эти длинные пути к подкаталогам на моем собственном локальном сервере перед загрузкой на новый веб-сервер. А затем с помощью запроса SQL я могу обновить все ссылки HTML на страницах HTML.
В качестве примера, это один из длинных путей к подкаталогам:
Код: Выделить всё
/img/b/R29vZ2xl/AVvXsEhUk2LfEXvKMZ48tpWUR607L5y_TRn-lXyajH_tJBOeWPqNFmfU1UV7pKginB78MHnuGS-luzq-RCIj1Z6rJ2y8VE3P93gIGeN_ZMjFii1Vnb2wZMnbyLTH241UTuu8kcvMZHFii1Vnb2wZMnbyLTH241gaZGDlgWTfx4EVdAlNFncc2XZJNz0fE0-JK1iDP7WgLEJWNg/
Как я могу обрезать или обрезать эту длинную строку подкаталога, начинающуюся с /AVvXsE до /AVvXsE и следующих 20 символов?
Как я могу обрезать или обрезать эту длинную строку подкаталога, начинающуюся с /AVvXsE до /AVvXsE и следующих 20 символов?
Как я могу усечь или обрезать эту длинную строку подкаталога, начинающуюся с /AVvXsE до /AVvXsE и следующих 20 символов?
p>
т.е. на это:
Код: Выделить всё
/AVvXsEhUk2LfEXvKMZ48tpWUR6/
Код: Выделить всё
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUk2LfEXvKMZ48tpWUR6/w640-h196/Oscar.png
• Мне нужны следующие 20 символов для создания уникальных путей, поскольку я вижу так много подкаталогов для файлов изображений. , то есть w640-h196, используются для многих других изображений.
• Я хочу оставить /AVvXsE на месте, поскольку он является общим для всех путей.< /p>
Я не знаю, с чего начать.
Полагаю, мне придется используйте PHP glob и foreach на моем локальном сервере, чтобы пройти каталог img/b/R29vZ2xl/ и найти и обрезать/обрезать все имена подкаталогов до /AVvXsE и следующих 20 символов.
Нужно ли мне регулярное выражение для усечения/обрезания имен? Или использовать обрезку PHP?
Есть ли другой способ обрезать имена подкаталогов?
Подробнее здесь: https://stackoverflow.com/questions/787 ... bdirectory