Подключение второго монитора на ubuntu c unity и nvidia не совсем тривиально.
После физического подключения монитор автоматически не подцепляется. Т.е. подцепляется конечно, но стоит в статусе disable.
Для его использования необходимо перейти в
NVidia X server settings и там в меню
X Server Display Configuration выбрать подключенный дисплей и понять опцию
Configuration с
disable на
TwinView или
Separate X Screen.
В режиме «TwinView» второй монитор становится продолжением первого, то есть рабочий стол увеличивается на размер второго монитора. Этот режим вполне сносно работает из коробки, и дополнительно настраивать его (даже в Unity) не нужно.
Режим «Separate X screen». В этом режиме производится эмуляция запуска второго X-сервера. Знатоки утверждают, что реально вторые X-сы не стартуют, но это уже технические подробности. Что можно с ним сделать ищем в гуглу. У меня так ничего путного и не вышло. Хотя я особо и не старался.
Полезная утилита, поможет расшифровать текст в неправильной кодировке.
Декодер
Там все просто - копируете текст в непонятной кодировке, вставляете в единственное поле и нажимаете кнопку Расшифровать )
Есть так же и более сложный интерфейс - там можно самостоятельно поиграться с параметрами расшифровки.
Полезно, если непонятно что пишет на сайте, или поста приходит не понятно о чем. В общем однозначно пригодится )
Ниже описаны способы сделать редирект (перенаправление) для каждого варианта.
Редирект 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
(далее…)
Рассмотрим достаточно простой пример того, как можно скачать музыку с сайта ВКонтакте (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>'; // не забываем закрывать таблицу, боди и сам хтмл документ |
Код одним блоком внутри (далее).
(далее…)
использование вместо стандартных однобайтовых функций мультибайтовых (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 переопределит другие значения. И можно будет потом долго танцевать с бубуном.
Как установить на ubuntu (в данном случае 11.10) Adobe Reader (acroread).
Зачем? - родная утилита не всегда корректно отображает PDF-файлы. Зато тормозит значительно меньше (субъективное мнение)
Всего одна команда (не одна конечно, но в одну строчку)
sudo -E wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update
Это добавит репозиторий в список, а так же зарегистрирует GPG ключ, что бы можно было авторизоваться.
Далее ставим как обычно:
sudo apt-get update
sudo apt-get install acroread
Как отсортировать многомерный массив по какому-либо значению?
Все достаточно просто. Подойдет функция
usort(). Сортирует массив, используя пользовательскую функцию сравнения.
Смотрим пример:
<?php
function cmp($a, $b)
{
return strcmp($a["fruit"], $b["fruit"]);
}
$fruits[0]["fruit"] = "lemons";
$fruits[1]["fruit"] = "apples";
$fruits[2]["fruit"] = "grapes";
usort($fruits, "cmp");
while (list($key, $value) = each($fruits)) {
echo "\$fruits[$key]: " . $value["fruit"] . "\n";
}
?>
и результат:
|
$fruits[0]: apples $fruits[1]: grapes $fruits[2]: lemons |
И еще один пример функции сортировки:
|
function cmp($a,$b){ $a = $a['date']; $b = $b['date']; if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } |
На всякий случай имейте ввиду открытые DNS-ы google-а:
8.8.8.8 и
8.8.4.4. Должны работать всегда и со всеми.
Свежие комментарии