- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день. Знающие люди в php подскажите по изменению скрипта для редиректа.
Есть скрипт, который редиректит в зависимости от поступивших к нему данных по запросу. Обращаюсь к нему в виде site.ru/goto.php?n=5 или любое число, указанное в файле links.txt.
Содержимое файла links.txt:
Суть в том, что я хочу передавать значения в скрипт не цифрой, а словами. К примеру site.ru/goto.php?n=vkontakte и правка в файле с ссылками на такую конструкцию:
не решает проблему. Подскажите, в какую сторону посмотреть для решения задачи. Всем заранее спасибо за ответы!
Обращение происходит в данном скрипте тупо по номеру строки, параметр не используется. Оптимальный вариант - хранить ссылки в виде ассоциативного массива PHP.
$ini='links.txt';
$text=file($ini);
У вас в переменной $text - массив по строкам файла (подставил желаемые вами значения)
Соответственно, $text[$n] - это будет полная строка, например, "yandex:::http://yandex.ru"
И это только если в $n будет число, индекс элемента.
Получается, до изменений у вас тоже неправильно работало..
Т.е. вам придется обходить весь массив $text и делать explode для каждого элемента и если там нулевой элемент будет равен $n - то уже брать значение.
Вообще, не оч. оптимально. Хранили бы в json, например
Если в вашей реализации, то вот:
Да, в файле по сути первая цифра вообще ничего не значит и никому не нужна.
Как описали выше, там берётся номер строки, а не цифра перед значением.
если этот файл нигде не используется, то можно сделать его вида
потом подправить код
писал на глаз. Надо потестить
---------- Добавлено 21.09.2017 в 15:56 ----------
после этого скрипт будет понимать значения вида site.com/?n=mail
---------- Добавлено 21.09.2017 в 16:33 ----------
апд
А если используется еще где-то, то можно поступить несколько ректально, но работать будет
надо заменить
$items=parse_ini_file ($inifile);
на
$items = parse_ini_string (str_replace(':::','=',file_get_contents($inifile)));