Gori |
Отправлено: 20 сентября 2015 — 08:40 • Тема: Не могу найти ошибку в коде скрипта кто-онлайн. Помогите • Форум: PHP/Perl |
Ответов: 3 Просмотров: 0
|
Писал Хостеру по поводу проблемы. Ответили:
Цитата:По результатам дополнительной диагностики было установлено, что некорректное отображение информации, выдаваемой указанным Вами скриптом, вызвано ошибкой в коде этого скрипта. Ошибка вызвана некорректным написанием скрипта, а также несоответствием кода скрипта и структуры таблицы базы данных. Происходит удаление записей из таблицы базы данных без учета страницы с которой происходит вызов этого скрипта. В результате информация о посещениях очищается для всех страниц, а не только для вызванной страницы.
Это рабочий код. Очень удобный. Считает не просто сколько онлайн, а сколько онлайн на конкретной странице сайта. Но видимо где-то ошибка.
Вот код:
CODE:<?
$server = "***.mysql";
$db_user = "***_mysql";
$db_pass = "***";
$db = "***_2";
$to_secs = 60;
$t_stamp = time();
$timeout = $t_stamp - $to_secs;
mysql_connect($server, $db_user, $db_pass);
mysql_db_query($db, "INSERT INTO CJ_UsersOnline VALUES ('$t_stamp','$REMOTE_ADDR','$PHP_SELF')");
mysql_db_query($db, "DELETE FROM CJ_UsersOnline WHERE timestamp<$timeout");
$result = mysql_db_query($db, "SELECT DISTINCT ip FROM CJ_UsersOnline WHERE file='$PHP_SELF'");
$user = mysql_num_rows($result);
mysql_close();
echo "Эту страницу читают: <b>$user</b> чел.";
?>
Это SQL запрос для создания таблиц:
CODE:CREATE TABLE CJ_UsersOnline (
timestamp int(15) NOT NULL default '0',
ip varchar(40) NOT NULL,
FILE varchar(100) NOT NULL,
PRIMARY KEY (timestamp),
KEY ip (ip),
KEY FILE (FILE)
) TYPE=MyISAM
Помогите пожалуйста найти ошибку. |
Gori |
Отправлено: 5 сентября 2015 — 08:52 • Тема: Непонятки с "\r\n" при отправке сообщеия. • Форум: PHP/Perl |
Ответов: 2 Просмотров: 0
|
Есть такой код.
CODE:$text = str_replace("\r\n", '<br>', $text);
Он заменяет в отправляемом тексте это "\r\n" на это "<br>\r\n".
Но после это, когда открываешь страницу с отправленным текстом, там всё сплошником. В одну сточку.
Ну для примера вот так всё:
CODE:Бла, бла, бла.<br>Опять бла, бла, бла.<br>Опять бла, бла, бла.<br>Опять бла, бла, бла.<br>Опять бла, бла, бла.<br>Опять бла, бла, бла.<br>Опять бла, бла, бла.
Т.е. цель, чтобы код страницы стал таким:
CODE:Бла, бла, бла.<br>
Опять бла, бла, бла.<br>
Опять бла, бла, бла.<br>
Опять бла, бла, бла.<br>
Опять бла, бла, бла.<br>
Опять бла, бла, бла.<br>
Опять бла, бла, бла.
сделал так:
CODE:$text = str_replace("\r\n", '<br>\r\n', $text);
Но почему-то "\r\n" превращается в "rn". И видится в самом тексте.
Т.е. как сделать чтобы в html-коде перенос был? |
Gori |
Отправлено: 1 сентября 2015 — 16:46 • Тема: Помогите доделать функцию создания абзацев • Форум: PHP/Perl |
Ответов: 3 Просмотров: 0
|
Помогли сдлать.
Делюсь тут рабочим кодом:
CODE:$string = '<p>'.str_replace(["\r\n\r\n", "\n\n", "\r\r"], '</p><p>', $string).'</p>';
$string = str_replace(["\r\n", "\n", "\r"], '<br>', $string);
Работает в PHP 5.6
В ранних скобки не понимает. |
Gori |
Отправлено: 29 августа 2015 — 15:45 • Тема: Помогите доделать функцию создания абзацев • Форум: PHP/Perl |
Ответов: 3 Просмотров: 0
|
1Bot , выводит теперь так:
CODE:<p>Я мечтою ловил уходящие тени, </p>
<p>Уходящие тени погасавшего дня, </p>
<p>Я на башню всходил, и дрожали ступени, </p>
<p>И дрожали ступени под ногой у меня.</p>
<br/>
<p>И чем выше я шел, тем ясней рисовались, </p>
<p>Тем ясней рисовались очертанья вдали, </p>
<p>И какие-то звуки вокруг раздавались, </p>
<p>Вкруг меня раздавались от Небес и Земли.</p>
<br/>
<p>Чем я выше всходил, тем светлее сверкали, </p>
<p>Тем светлее сверкали выси дремлющих гор, </p>
<p>И сияньем прощальным как будто ласкали, </p>
<p>Словно нежно ласкали отуманенный взор.</p>
<br/>
<p>А внизу подо мною уж ночь наступила, </p>
<p>Уже ночь наступила для уснувшей Земли, </p>
<p>Для меня же блистало дневное светило, </p>
<p>Огневое светило догорало вдали.</p>
<br/>
<p>Я узнал, как ловить уходящие тени, </p>
<p>Уходящие тени потускневшего дня, </p>
<p>И все выше я шел, и дрожали ступени, </p>
<p>И дрожали ступени под ногой у меня.</p>
|
Gori |
Отправлено: 29 августа 2015 — 07:41 • Тема: Помогите доделать функцию создания абзацев • Форум: PHP/Perl |
Ответов: 3 Просмотров: 0
|
Есть функция:
CODE:function nl2p($string) {
$s = ("|\r\n|");
$d = ("</p>\n<p>");
$string = "<p>". preg_replace($s, $d, $string) ."</p>";
$string = str_replace('<p></p>', '', $string);
return $string;
}
Очень полезная фунция.
Каждый перенос строки она переделывает в новый абзац, т.е. помещает фрагмент текста в теги <p></p>
Допустим я ввёл текст:
CODE:
Бла бла бла и бла бла бла.
Тум пурум пурум пурум.
Ля ля ля.
Результатом будет:
CODE:
<p>Бла бла бла и бла бла бла.</p>
<p>Тум пурум пурум пурум.</p>
<p>Ля ля ля.</p>
В отличие от функции "nl2br" которая создаёт тупо однии <br>, эта функция делает контент более статейным разделяя его как и положено на абзацы.
Но есть проблема.
Допустим я хочу чтобы не все новые строчки переделывались в абзацы, чтобы когда два переноса - был обзац, а когда один перенос - был <br>.
Т.е. если я ввожу вот так (один перенос):
CODE:
Бла бла бла и бла бла бла.
Тум пурум пурум пурум.
Ля ля ля.
То эта фунция всё равно мне всё оформит в теги <p></p>:
CODE:
<p>Бла бла бла и бла бла бла.</p>
<p>Тум пурум пурум пурум.</p>
<p>Ля ля ля.</p>
А мне нужно чтобы это было как положено, т.е. вот так:
CODE:
<p>Бла бла бла и бла бла бла.<br>
Тум пурум пурум пурум.<br>
Ля ля ля.</p>
Сам я никогда не решу эту задачу. Может быть поможет кто? |
Gori |
Отправлено: 28 августа 2015 — 08:53 • Тема: Функция трансформирует текст в гиперссылку • Форум: PHP/Perl |
Ответов: 2 Просмотров: 0
|
Решил всё же сделать вставку ссылок через быструю вставку тегов в форму отправки.
Но всё равно вещь полезная. Если кто-то доделает код, то это пригодится. |
Gori |
Отправлено: 27 августа 2015 — 09:23 • Тема: Функция трансформирует текст в гиперссылку • Форум: PHP/Perl |
Ответов: 2 Просмотров: 0
|
Есть очень хорошая функция:
CODE:function hyperlink($text)
{
$text = preg_replace("/(([a-z]+:\/\/)?(?:[a-zа-я0-9@:_-]+\.)+[a-zа-я0-9]{2,4}(?(2)|\/).*?)([-.,:]?(?:\\s|\$))/is",'<a href=$1>$1</a>', $text);
return($text);
}
Любая ссылка переделывается в гиперссылку. Причём независимо что стоит вначале ссылки: www или http://
Проблема в том, что, если в конце ссылки нет пробела, то и любой текст становится ссылкой до пробела. Вот так: http://exbb.infoздесьлюбойтекстдопробела
Как исправить?
Есть ещё код, который с этой задачей справляется:
CODE:$text = preg_replace('/(http:\/\/([\w\d\.\?\&\#\;\:\+\-\=\%\/]+))/i', '<a href="$1">$1</a>', $text);
Но он не переделывает все ссылки, как первый код. Т.е. он хуже. |
Gori |
Отправлено: 25 августа 2015 — 16:01 • Тема: Ваша "любимая" ОС • Форум: Ваш компьютер |
Ответов: 149 Просмотров: 0
|
Сижу уже давно на 8.1.
Раньше любил ХР.
Но 8 удобнее и красивее. |
Gori |
Отправлено: 25 августа 2015 — 15:25 • Тема: Функция уменьшения картинки при загрузке • Форум: PHP/Perl |
Ответов: 2 Просмотров: 0
|
Есть функция:
CODE:function createphoto ($input,$output) {
$w = 400; // мы получим пропорциональное изображение шириной 400px
$q = 80; // качество jpeg по умолчанию
$f=$input;
$src = imagecreatefromjpeg($f);
// функция imagecreatefromjpeg создает изображение JPEG из файла
// т.е. создаём исходное изображение на основе исходного файла и определяем его размеры
$w_src = imagesx($src);
$h_src= imagesy($src);
// получение ширины и высоты изображения в пикселях
$ratio = $w_src/$w;
$w_dest = round($w_src/$ratio);
$h_dest = round($h_src/$ratio);
// получение координат для построения нового изображения необходимой нам ширины
$dest = imagecreatetruecolor($w_dest,$h_dest);
// функция imagecreatetruecolor пустое полноцветное изображение размерами x_size и y_size.
// Созданное изображение имеет черный фон.
imagecopyresized($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);
// Функция imagecopyresized копирует прямоугольные области с одного изображения на другое
// вывод картинки и очистка памяти
imagejpeg($dest,$output,$q);
imagedestroy($dest);
imagedestroy($src);
}
Выбрал её, т.к. код небольшой и всё расписано и какбы понятно.
Проблема в том, что если картинка загружается больше лимитного значения 400, то всё ОК - картинка ументшается. Всё прекрасно.
А вот если картинки загружается меньше этого значения - то она наоборот увеличивается до лимитного значения. И это очень плохо.
Что нужно добавать к коду, чтобы маленькие картинки не увеличивались? |
Gori |
Отправлено: 23 августа 2015 — 04:39 • Тема: Помогите с выводом строк из файла по дням года • Форум: PHP/Perl |
Ответов: 6 Просмотров: 0
|
1Bot , перестал работать ваш скрипт.
В чём может быть дело?
Уже ставил на разные хостинги. Не работает.
Всё работало несколько месяцев и вдруг перестало.
Уже голову сломал. В чём может быть проблема?
Может быть есть какой-то ещё другой варинт скрипта? |
|