Ниже описаны способы сделать редирект (перенаправление) для каждого варианта.
Редирект PHP
|
<?php header("Location: http://google.ru"); ?> |
Не забывать: До заголовка не должно выводиться никаких!!! символов.
Частая проблема - пробел перед
<?php в начале файла
Следующий код работать не будет и даст варнинг:
|
<?php echo 'Редиректа не будет!'; header("Location: http://google.ru"); ?> |
Редирект HTML
|
<meta http-equiv="refresh" content="0; url=http://google.ru"></meta> |
- content - значение указывает количество секунд до переадресации на адрес, указанный в поле url
- url - адрес для редиректа. Туда и перенаправляем.
Редирект JavaScript
|
window.location="http://google.ru"; |
без комментариев... ))
В продолжении - Редирект в .htaccess
(далее…)
Как добавить свой пункт в контекстное меню рабочего стола и компьютера?
Ответ прост как две копейки. (статья позаимствована у автора
http://www.oszone.net/13991/Context_Menu)
Добавление своих пунктов в
контекстные меню рабочего стола и компьютера позволяет ускорить доступ к элементам панели управления, любимым программам и утилитам. Добавить такой пункт очень просто, и через минуту вы уже будете знать, как это сделать. Для примера я покажу, как добавить вызов панели управления из контекстного меню.
(далее…)
Рассмотрим достаточно простой пример того, как можно скачать музыку с сайта ВКонтакте (vk.com или vkontakte.ru)
А решение довольно просто - надо всего лишь переопределить javascript-функцию проигрывания файлов и вместо проигрывания музыки вам предложат сохранить файл )
итак - простая последовательность действий:
1. Заходим ВКонтакт, на страницу с музыкой (мои аудиозаписи или поиск)
2. В строку адреса браузера вставляем нехитрый код (он и переопределит ту самую функцию)
|
javascript:function playAudioNew(a){ var url = document.getElementById('audio_info'+a).value.split(',')[0]; window.open(url,'Download'); } |
3. Жмем на кнопочку play - и файл скачивается.
Теперь то, что не надо забывать:
- Если файл пытается открыться в браузере проигрывателем типа quicktime`a - надо либо в меню файл или в контекстном меню (щелкнуть правой кнопочкой мыши) выбрать сохранить как...
- При обновлении страницы со списком музыки переопределение функции придется повторить.
Если надо просто выгрузить некую таблицу с сайта как файл excel, то подойдет достаточно простой способ.
Основная идея - excel уже давно умеет сохранять свои документы как html. Ну и самое простое решение - сохраняем любой документ именно так, открываем в текстовом редакторе, смотрим что и как там написано, пытаемся воспроизвести.
Рассмотрим самый банальный пример: (запрос к базе данных не рассматривается... только та часть, которая выгрузит файл, понятный excel'ю.
1. Формируем заголовок:
|
/* // раскомментируйте строки ниже, если файл не будет загружаться header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); */ //стандартный заголовок, которого обычно хватает header('Content-Type: application/vnd.ms-excel; charset=utf-8'); header("Content-Disposition: attachment;filename=".date("d-m-Y")."-export.xls"); header("Content-Transfer-Encoding: binary "); |
2. Теперь можно выводить ранее полученные данные, из MySQL, из файла, еще откуда - не важно. все на ваше усмотрения. Главное НЕ забыть сформировать стандартную HTML шапку под правильную кодировку (например utf-8) что бы в excel корректно отображалась кириллица. И не забываем про то, что кодировка файла скрипта также должна быть такой же.
|
echo ' <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="author" content="zabey" /> <title>Demo</title> </head> <body> '; |
3. И вот формирование самой таблицы, которая откроется в Excel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
// заголовок таблицы echo ' <table border="1"> <tr> <th>Колонка 1</th> <th>Вторая колонка</th> </tr> '; while($row = $STH->fetch()){ // формирование тела таблицы. Выберете ваш метод самостоятельно. echo '<tr> <td>'.$row['col1'].'</td> <td>'.$row['col2'].'</td> </tr>'; } echo '</table>'; echo '</body></html>'; // не забываем закрывать таблицу, боди и сам хтмл документ |
Код одним блоком внутри (далее).
(далее…)
Иногда, а может и не очень приходится наводить порядок в Active Directory, узнать какой пользователь сидит за каким компьютером, если конечно 10 человек периодически с интервалов в 10 минут не сидят за одним.
Такая же задача появилась и у меня, поискав в интернете нашел замечательный vbs скрипт который складывает всю информацию о ПК в csv файл, но у меня в силу какие то причин кривости рук или схождения звезд, не удалось запустить его через GPO (групповую политику). Плюную я решил особо не мучиться и сделал просто bat файл который при авторизации пользователя в системе создает текстовый файл и выкладывает всю информацию о ПК в специально отведенную для этого папку.
Пример скрипта:
|
net use y: /delete /persistent:yes net use y: \\192.168.100.3\scan /persistent:yes Set > Y:\%COMPUTERNAME%.txt net use y: /delete |
(далее…)
Наткнулся на необходимость сделать в удаленный офис дешевый и более менее качественный интернет с возможностью безлимитных входящих и исходящих звонков по Москве (495,499), а так же возможность получать и отправлять факсы.
В качестве интернет провайдера было решено попробовать Yota, но сразу возник вопрос какое использовать оборудование для подключения 1 телефонной линии, 1 телефонного аналогового аппарата и 1 факса. Выбор пал на не дорогой роутер который предлагает Yota, это
Mobile WiMAX/Wi-Fi Центр, а именно Asus Mobile WiMAX/Wi-Fi Center.
(далее…)
использование вместо стандартных однобайтовых функций мультибайтовых (mbstring) функций.
Настраивается в
php.ini
Полезно для работы сайта в кодировке utf8
По умолчанию выключено
; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
;mbstring.func_overload = 0
Раскомментируем выделенную строчку. Это битовый флаг, т.е. для агрегации значений надо складывать эти значения. Все варианты приведены ниже.
(далее…)
Как включить обработку файлов .htaccess
Все кажется просто, главное не путаться )
надо включить опцию - прописать в конфигах:
|
<Directory /> <strong> AllowOverride all</strong> </Directory> |
Вот только встает вопрос - где?
для Apache - httpd.conf
для Apache2 все немного посложнее. в
/etc/apache2/ есть следующие места, куда это можно записать:
- apache2.conf
- httpd.conf
- sites-enabled/default (или другие для виртуальных хостов)
Я рекомендую писать в последний файл. Потому что:
- Идеологически именно там выделено место под эти опции
- Значение этой опции в конфиге в папке sites-enabled переопределит другие значения. И можно будет потом долго танцевать с бубуном.
В предыдущей статье "
Active Directory изменение веток реестра на ПК пользователей" была одна проблема, что файл будет всегда записываться в реестр. Для того чтобы этого избежать нужно проверить, а существует ли уже такой параметр например как Server = secondserver в одной из веток, для этого создаем небольшой bat файлик (или модифицируем уже имеющийся в прошлой статье) с вот таким куском скрипта:
|
For /F "UseBackQ Tokens=2*" %I In (`Reg Query "HKLM\Software\TrendMicro\PC-cillinNTCorp\CurrentVersion"^| Find /I "Server"`) Do If NOT %J == secondserver reg import "antivir_update.reg" |
Все очень просто, получаем значение ключа "Server" из ветки "HKLM\Software\TrendMicro\PC-cillinNTCorp\CurrentVersion" и сравниваем, если такого значения нет, то выполняем импорт в реестр.
Все просто и быстро.
Наткнулся недавно на "грабли", как на компьютерах пользователей входящих в AD при входе в систему запустить reg файл (файл реестра) в котором уже прописаны нужные мне изменения.
Побегав по интернету и измучив мозг нескольких товарищей нам удалось добиться нужного решения, хотя и не совсем так, как хотелось.
Предположим у нас есть ветка реестра которую мы благополучно экспортировали и сохранили в файл:
|
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\PC-cillinNTCorp\CurrentVersion] "DatabasePath"="\\\\secondserver\\ofcscan\\FileDB" [HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\PC-cillinNTCorp\CurrentVersion\Internet Settings] "Server"="secondserver" [HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\PC-cillinNTCorp\CurrentVersion] "Server"="secondserver" |
(далее…)
Свежие комментарии