Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Search found 28 matches
Author Message
  Topic: [Wish] Живой предпросмотр: решение, позволяющее div-у перекрыть select.
az

Replies: 19
Views: 20784

PostForum: Предложения по организации форума   Posted: Wed Aug 10, 2005 8:49 am   Subject: [Wish] Живой предпросмотр: решение, позволяющее div-у перекрыть select.
Нет я имел в виду вот это:
Другой недостаток <IFRAME> — большой расход памяти и медлительность: фактически, для каждого фрейма создается новый отдельный браузер, который независимо обрабатывает загруженный HTML-код.
  Topic: Эмуляция браузера.
az

Replies: 15
Views: 6754

PostForum: Разное :: PHP   Posted: Tue Aug 09, 2005 7:22 am   Subject: Эмуляция браузера.
Да, а где заголовок сервера с параметром Connection?
Может он не хочет, чтобы был Connection: Keep-Alive, а сделал Connection: close :)
И другой вопрос: откуда взялась переменная $fpof?
  Topic: Эмуляция браузера.
az

Replies: 15
Views: 6754

PostForum: Разное :: PHP   Posted: Mon Aug 08, 2005 6:21 am   Subject: Эмуляция браузера.
И как я сразу не догадался? :)
Насколько я понимаю, после отправления страницы сервер закрывает соединение (такова суть протокола HTTP), и Вы пытаетесь отправить данные в уже закрытый сокет :)
Откройте соединение к серверу снова и все получится. Удачи!
  Topic: Эмуляция браузера.
az

Replies: 15
Views: 6754

PostForum: Разное :: PHP   Posted: Thu Aug 04, 2005 1:03 pm   Subject: Эмуляция браузера.
я выдергиваю из ответа параметр cookie в переменную $SESSION_NUMBER
Код в студию, пожалуйста!
  Topic: [Wish] Живой предпросмотр: решение, позволяющее div-у перекрыть select.
az

Replies: 19
Views: 20784

PostForum: Предложения по организации форума   Posted: Sat Jul 30, 2005 11:45 am   Subject: [Wish] Живой предпросмотр: решение, позволяющее div-у перекрыть select.
Если я не ошибаюсь, то это делается так. Так что идея не такая уж бредовая... ИМХО
Да, но только класс JSHttpRequest для того и писался, чтобы избавиться от iframe. Это, насколько я понимаю, одна из основных фич.
http://dklab.ru/chicken/nablas/41.html
  Topic: С чего нужно начинать писать движок сайта ?
az

Replies: 14
Views: 8134

PostForum: Разное :: PHP   Posted: Sun Jul 17, 2005 8:39 am   Subject: С чего нужно начинать писать движок сайта ?
Спасибо , повторю пвопрос,что хуже 1 раз eval либо 10 раз инклюд.
Здесь вопрос не так однозначен, как Вам кажется. Вот смотрите. Скажем "что хуже"?
Что Вы понимаете под словом «хуже»? Хуже для чего? Для пользователя? Или для сервера? Для скорости или для расхода памяти? Скажем, что лучше: использовать сжатие или нет? Если мне важен расход памяти сервером и скорость работы, то, наверное, да – «хуже» использовать сжатие. А вот если мне важен трафик, генерируемый сервером, то да – «хуже» без сжатия.
Отталкиваясь от этого, перефразирую Ваш вопрос:
«Что быстрее 1 раз выполнить eval или 10 раз include?»
И здесь нет однозначности... Скажем, если обработать функцией eval 100,000 строк кода, то это будет медленнее, чем 10 раз выполнить include файла, содержащего 10 строк кода (в общей сложности 100 строк кода).
Перефразирую вопрос еще раз:
«Что быстрее 1 раз выполнить eval кода модуля или 10 раз include, того же самого кода?»
И снова нет однозначности... Все зависит от быстродействия фа ...
  Topic: Выравнивания данных в селекте
az

Replies: 10
Views: 4378

PostForum: Прочее   Posted: Thu Jul 14, 2005 9:54 am   Subject: Выравнивания данных в селекте
А попробуйте так:

<?php

$data = array (
array ("Tourist Single Entry", "Up to 1 month", "Two weeks", "150.00"),
array ("Tourist Single Entry", "Up to 1 month", "One week", "200.00"),
array ("Tourist Single Entry", "Up to 1 month", "Next business day", "250.00"),
array ("Tourist Single Entry", "Up to 1 month", "Same business day", "350.00"),
array ("Tourist Double Entry", "Up to 1 month", "Two weeks", "150.00"),
array ("Tourist Double Entry", "Up to 1 month", "One week", "250.00"),
array ("Tourist Double Entry", "Up to 1 month", "Next business day", "300.00"),
array ("Tourist Double Entry", "Up to 1 month", " ...
  Topic: Вывод всей ASCII-таблицы.
az

Replies: 4
Views: 4289

PostForum: Разное :: PHP   Posted: Thu Jul 14, 2005 6:52 am   Subject: Вывод всей ASCII-таблицы.

...
echo "<br>"."\"."$i";
...
но вывелась ошибка:
Parse error: parse error, expecting `','' or `';'' in z:\home\localhost\www\my\myscripts\test\kot_test.php on line 4


Посмотрите внимательнее на эту часть строки:
"\"
Как Вы думаете, кавычка экранируется? Конечно же да! Поэтому правильно было бы написать так:
"\""
А вывести можно и таким способом:

<?php
for($i=0; $i<255; $i++)
printf ("%c<br />", $i);
?>
  Topic: htaccess, некоторое подобие mod_rewrite
az

Replies: 6
Views: 4433

PostForum: Разное :: PHP   Posted: Thu Jul 14, 2005 5:30 am   Subject: htaccess, некоторое подобие mod_rewrite
Картинки - мне не нужны логи, мне нужно чтобы они коррекно отображались, но они вообще не отображаются.
А Вы приведите пример Вашего файла .htaccess и файла, который затем выводит информацию, а мы уже вместе постараемся что-нибудь придумать.
  Topic: Ошибка Mysql при любом запросе
az

Replies: 6
Views: 10210

PostForum: Общие вопросы :: SQL   Posted: Tue Jul 12, 2005 12:40 pm   Subject: Ошибка Mysql при любом запросе
А попробуйте сделать так:

CREATE TABLE ibf_admin_logs (
id bigint(20) NOT NULL auto_increment,
act varchar(255) default NULL,
code varchar(255) default NULL,
member_id int(10) default NULL,
PRIMARY KEY ( id )
)
  Topic: Предпросмотр jpeg и gif файлов
az

Replies: 7
Views: 24674

PostForum: Разное :: PHP   Posted: Tue Jul 12, 2005 8:45 am   Subject: Предпросмотр jpeg и gif файлов
на странице несколько превьешек jpeg и gif файлов, которые делает вышеописанный скрипт.
А Вы не могли бы показать код данной страницы? Может быть проблема где-то в другом месте?
Вот смотрите:
wall.php

<?php

$DIR ="c:\\images\\";
if ($handle = opendir($DIR)) {
while (false !== ($file = readdir($handle))) {
if (!is_dir ($DIR.$file)) {
echo ("<img src = \"showimage.php?image=$DIR$file\" alt=\"\" />");
}
}
}
?>

В директории c:\images - содержится почти 2 тысячи gif и jpeg изображений (при этом gif изображений более тысячи). Все работает нормально.
P.S. Правда спотыкается на именах файлов, как, например, такое: "2&m1.gif", я их не отслеживаю, т.к. это не окончательный код, а так - для проверки. Просто имейте в виду на будущее.
  Topic: поиск для бота-болтуна - как лучше сделать?
az

Replies: 4
Views: 5777

PostForum: Разное :: PHP   Posted: Tue Jul 12, 2005 6:51 am   Subject: поиск для бота-болтуна - как лучше сделать?

Суть проблемы:
есть бот , имитирующий разговор с ИИ.

Искусственный интеллект настолько разносторонняя тема, что просто так, взять и описать даже простейшую модель не получится.
Поэтому лучше задать конкретный вопрос, и получить на него конкретный ответ :)
Мне самой такая структура кажется мягко говоря странной.
Естественно. Представьте себе мозг человека. Неужто Вы видите там таблицы с "с отмазками и анкетами пользователей" :)а не переделать ли его окончательно
Вопрос лишь в том, чего Вы собственно от него хотите. Правильно заданный вопрос - это 50% ответа, а правильно сформулированная постановка задачи - 50% решения.
из-за этой структуры я уже мозг себе вывихнула думать,как ему самому обучаться , а не через редактирование его базы. Стоит ли менять структуру базы?
Несомненно.
Может есть какие-нибудь рекомендации, как лучше хранить информацию для болтунов?
Так все-таки для "болтунов" или "ИИ"? Рекомендации, конечно же, есть. В принципе, каждое слово (или понятие), находящ ...
  Topic: загрузка большого числа одинаковых картинок с сервера
az

Replies: 10
Views: 6422

PostForum: Разное :: JavaScript   Posted: Tue Jul 12, 2005 6:01 am   Subject: загрузка большого числа одинаковых картинок с сервера
У меня вот такой код отрабатывает махом:

<html>
<head>
<title>Test page</title>
</head>
<body>
<table border = "0">
<script language = "JavaScript">
for (i = 0; i < 10; i++) {
document.writeln("<tr>");
for (j = 0; j < 10; j++) {
document.write("<td>");
document.write("<img src = \"test.gif\" alt = \"\" width = \"40\" height = \"40\"/>");
document.writeln("</td>");
}
document.writeln("</tr>");
}
</script>
</table>
</body>
</html>

Хотя, честно говоря, 32x32 - это уже 1024 изображения, длительность загрузки при этом довольно сильно начинает зависеть от мощности клиентской машины и от того, насколько эффективно браузер отрисовывает таблицы.
P.S. Если Вы собираетесь ...
  Topic: Предпросмотр jpeg и gif файлов
az

Replies: 7
Views: 24674

PostForum: Разное :: PHP   Posted: Mon Jul 11, 2005 12:08 pm   Subject: Предпросмотр jpeg и gif файлов
Плюс, обратите внимание на этот момент:

case 1 : $src = imagecreatefromgif($image);

Глядим в мануал:
imagecreatefromgif() returns an empty string on failure.

1. Думаю, что все-таки стоит проверить $src перед тем, как передавать ее в функцию. (везде)
2. Результат, выдаваемый imagecopyresampled выглядит намного приятнее, нежели результат выдаваемый imagecopyresized.
3. Рекомендовал бы сделать так:
$dst = imagecreatetruecolor($max_width,$max_height) or die("Cannot Initialize new GD image stream");
и вот так:

if (function_exists("imagegif")) {
imagegif($dst);
}

imagecreatetruecolor с гифами не работает
И это естественно - в gif хранится палитра, максимум 256 цветов (ограничение формата).

Вот, модифицировал Ваш код:

<?php
if (isset($_REQUEST['image']) && ($_REQUEST['image'] != ''))
$image = $_REQUEST['image'];
e ...
  Topic: Обновление страницы
az

Replies: 4
Views: 8592

PostForum: Разное :: JavaScript   Posted: Mon Jul 11, 2005 7:43 am   Subject: Обновление страницы
Вот пример:

<html>
<script language = "JavaScript">
function reloadPage() {
this.location.reload();
}
reload = setTimeout('reloadPage()', 5*60*1000); // Здесь интервал задается в миллисекундах
</script>
</html>


или (без использования JavaScript):


<html>
<head>
<meta http-equiv="refresh" content="300; URL=http://www.test.com">
</head>
</html>

Вся суть в этой строке "<meta http-equiv="refresh" content="300; URL=http://www.test.com">"
300 - это количество секунд, которое стоит подождать перед обновлением,
http://www.test.com - URL, куда будет произведен редирект.
  Topic: Передача параметров методом POST (multipart/form-data)
az

Replies: 17
Views: 12071

PostForum: Разное :: PHP   Posted: Fri Jul 08, 2005 11:59 am   Subject: Передача параметров методом POST (multipart/form-data)
Посмотрите обсуждение подобной проблемы здесь:
Конфигурация: RH8.0 Apache 2 c php и mysql, установки все стандартные, сам конфиги фактически не правил, а где правил, там много раз думал

Ситуация: на страничке есть гостевуха, в которую записи добавляются POST методом. Когда текст сообщения небольшой, или нет абзацев - то все нормально, как только в тексте появляются абзацы (количеством больше 4-5) то по непонятным причинам куски текста из конца сообщения начинают несколько раз дублироваться. Программер, который писал гостевуху утверждает, что этот скрипт у него работает на нескольких сайтах и подобных глюков нигде нет.

------

Глюки с апачем2 и пхп. Переставить апач на 1.3.28. Было то же самое, исправил только переустановкой апача

------
В общем проблема решилась перестановкой Apache. Судя по всему бага версии 2.0.40. Сейчас поставил 2.0.48 и все "пучком". Заодно переставил php и мускул на более новые версии.


P.S. Еще посмотрел. Связка Apache 2.0.40 + php-4.2.2 дейс ...
  Topic: Алгоритм сравнения текстов
az

Replies: 36
Views: 85531

PostForum: Разное :: PHP   Posted: Fri Jul 08, 2005 5:43 am   Subject: Алгоритм сравнения текстов
Для сранения двух слов можно использовать встроенную в php функцию similar_text. Например:

<?php
$word1 = "синхрофазотронный";
$word2 = "синхрофазотрон";
$percent = 0;
$result = similar_text ($word1, $word2, $percent);
echo "Степень схожести слов $word1, $word2, $percent%";
?>

Выдаст: Степень схожести слов синхрофазотронный, синхрофазотрон, 90.3225806452%

Дополнительную информацию по данной теме, если интересует именно теоретическая часть, можно получить здесь: levenshtein(), metaphone() и soundex().
  Topic: Передача параметров методом POST (multipart/form-data)
az

Replies: 17
Views: 12071

PostForum: Разное :: PHP   Posted: Fri Jul 08, 2005 5:10 am   Subject: Передача параметров методом POST (multipart/form-data)
Речь идёт, видимо, о минимальном коде, приводящем к ошибке?
Да. Раз данный код не приводит к ошибке, может быть Вы прикрепите Ваши файлы, приводящие к ошибке? Просто может быть проблема не в передаваемых данных, а где-то в другом месте?
  Topic: Передача параметров методом POST (multipart/form-data)
az

Replies: 17
Views: 12071

PostForum: Разное :: PHP   Posted: Thu Jul 07, 2005 2:29 pm   Subject: Передача параметров методом POST (multipart/form-data)
Ясно. Тогда попробуем так. Берем этот пример:

<form action="./test.php" method="post">
<?php
$i = 0;
while ($i < 200) {
$i++;
echo ("<input type=\"text\" name=\"textfield$i\" value=\"$i. Длинная строка для теста. Очень длинная строка для теста. Очень-очень длинная строка для теста.\" /><br />\n");
}
?>
<input type="submit" />
</form>

Здесь генерируется страница с 200-ми полями ввода, т.е. превышает то количество, которое у Вас есть.
Попробуйте её, если не получится, то будем думать дальше.
  Topic: Передача параметров методом POST (multipart/form-data)
az

Replies: 17
Views: 12071

PostForum: Разное :: PHP   Posted: Thu Jul 07, 2005 10:49 am   Subject: Передача параметров методом POST (multipart/form-data)

Ksnk
Да, данные действительно "обрываются". С чем это связано - совсем не понятно. Видимо, проблема все-таки в Apache.
В Денвере с Apache 1.3.29 PHP 4.3.10 все работает нормально.

А Вы проверьте параметр MAX_FILE_SIZE, может быть у хостера он стоит очень маленький, и Вам не хватает его?

Или сделайте нечто, наподобие этого:

<form enctype="multipart/form-data" action="./" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Прикрепить файл: <input name="userfile" type="file">
<input type="submit" value="Отправить">
</form>



С таким скриптом проблем не было. Их не было и тогда, когда я на всякий случай добавил параметр enctype="multipart/form-data".
Вызываемый файл индексный.

Ясно. Выполните такую вот конструкцию:
<?php phpinfo(); ?>
И обратите внимание на следующие параметры:
file_uploads - ...
  Topic: Передача параметров методом POST (multipart/form-data)
az

Replies: 17
Views: 12071

PostForum: Разное :: PHP   Posted: Thu Jul 07, 2005 5:48 am   Subject: Передача параметров методом POST (multipart/form-data)
Обратите внимание:
<form action="./" method="post" enctype="multipart/form-data">
action="./" - работает в том случае, если вызываемый файл является у вас индексным. Скажем, index.php. А вобще, лучше явно указать файл, которому передаются данные. Скажем 'action="./index.php"'.

Плюс, попробуйте выполнить на сервере следующий файл (test.php):


<?php

if (isset($_POST['buttonpressed'])) {
echo "buttonpressed=".$_POST['buttonpressed']."<br />\n";
}
else {
$buttonpressed = "buttonpressed";
}

if (isset($_POST['action'])) {
echo "action=".$_POST['action']."<br />\n";
}
else {
$action = "action";
}
?>
<form action="./test.php" method="post">
<input type="text" name="buttonpressed" value="<?=$buttonpressed?>" /> ...
  Topic: Проблема с сессиями при использовании буферизации вывода
az

Replies: 8
Views: 5288

PostForum: Разное :: PHP   Posted: Wed Jul 06, 2005 2:04 pm   Subject: Проблема с сессиями при использовании буферизации вывода

handler1handler2<a href = "test.php">Test page</a>
Т.е. я был не прав. Обработка ведется по принципу FIFO.

Это Вы сейчас неправы. Ваш пример как раз показывает порядолк LIFO. Посмотрите внимательнее.

Дмитрий - Вы действительно правы!


Т.е. обработчик, который шел последним, просто пропадает. Почему?
Видимо, ob_get_clean() не вызывает обработчик, а выдает "чистое" содержимое буфера. Посмотрите, а ob_get_contents() тоже так себя ведет, или все-таки вызывает обработчик? Если вызывает, то это - баг в доркументации на ob_get_clean().

ob_get_contents() - тоже не вызывает обработчик. Исходя из этого приходим к выводу, что обработчик вызывается только после того, как буфер начинает выводиться. Т.е. только после вызова flush, ob_end_flush, ob_flush...


Да, плюс, насколько я понимаю, она еще и удаляет обработчик буфера. Только об этом не сказано ни слова. Причем обработчик, добавленный последним.
Каждому буферу может быть назначен ТОЛЬКО ОДИН обработчик. Поэтом ...
  Topic: Создание чата
az

Replies: 46
Views: 28672

PostForum: Разное :: PHP   Posted: Wed Jul 06, 2005 1:26 pm   Subject: Создание чата

А кто в онлайне я б посоветовал бы делать раз в 3 минуты! И сделать таймер на JavaScript
Который будет проверять последнюю передачу данных на сервер, и если её уже нету в течение 2 минут и 30 секунд чтобы сам автоматом перегружал игровой фрейм!

Лучше не перезагружать игровой фрейм, а в какое-нибудь служебное окно загружать скрипт наподобие "update_status.php". Во-первых - в случае, если данные не изменились мы не получаем лишний трафик, а во-вторых и серверу так проще :)
  Topic: Работа с файлами в obgzhandler
az

Replies: 5
Views: 3694

PostForum: Разное :: PHP   Posted: Wed Jul 06, 2005 1:10 pm   Subject: Работа с файлами в obgzhandler
Текст 'Text from myObGzHandler!' выводится. Или так надо?
Вы себе представляете работу с буфером? Смотрите:

<?php

function file_check($fileName) {

fclose(fopen($fileName, 'a+b')); // <-- Так лучше не делать, вполне возможно, что файл не откроется

}

function myObGzHandler($output) {

file_check('C'); // создает файл C

$output .= 'Text from myObGzHandler!'; // Добавляет Ваш текст к буферу.
// Заметьте, конкретно в Вашем примере буфер был пуст,
// Вы добавили строку 'Text from myObGzHandler!'
// именно это и выдаст php в stdout

return $output;

}

ob_start('myObGzHandler'); // Стартует буферизованный вывод

file_check('A'); // создает файл A
file_check('B'); // создает файл B

?>

Скажите, куда Вы хотели чтобы попал текст 'Text from myObGzHandler!'?
  Topic: Проблема с сессиями при использовании буферизации вывода
az

Replies: 8
Views: 5288

PostForum: Разное :: PHP   Posted: Wed Jul 06, 2005 8:03 am   Subject: Проблема с сессиями при использовании буферизации вывода
Хорошо. Будем разбираться вместе.
Сначала я думал, что в php соблюдается вложенность буферов и обработчиков, т.е. работа ведется по методу LIFO.
Смотрим код:

<?php

function ob_testhandler1($s) {
return "handler1".$s;
}

function ob_testhandler2($s) {
return "handler2".$s;
}

ob_start("ob_testhandler1");
ob_start("ob_testhandler2");
?>
<a href = "test.php">Test page</a>

Данный код выведет следующее:
handler1handler2<a href = "test.php">Test page</a>
Т.е. я был не прав. Обработка ведется по принципу FIFO.
Внимание! Вчитайтесь в код внимательнее. Обработка все-таки ведется по принципу LIFO. 90% далее изложенного неверно!!!
Едем дальше. Значит правильная последовательность должна выглядеть так:

Открываю сессию
Открываю буферизацию
Вывожу данные в буфер
Получаю содержимое буфера (удаляю его), вывожу данные пользователю
З ...
  Topic: Проблема с сессиями при использовании буферизации вывода
az

Replies: 8
Views: 5288

PostForum: Разное :: PHP   Posted: Tue Jul 05, 2005 12:37 pm   Subject: Проблема с сессиями при использовании буферизации вывода

А вот это зачем? Какой смысл несут данные инструкции?
По-моему, они только вредят.

Если честно, то для меня это так же как и открывающие/закрывающие скобки(кавычки).
С чего я начинаю:
Включаю буферизацию
Открываю сессию
Вывожу данные в буфер
Закрываю сессию
Получаю содержимое буфера (удаляю его), вывожу данные пользователю
В принципе, вроде бы все логично. Все то, что я насоздавал, я и удалил. Но эти строки действительно вредят. С чем это связано - ума не приложу :(
Убираем их - и php работает так, как было необходимо.
2 Дмитрий Котеров
Спасибо огромное. Тему можно считать закрытой.
  Topic: Проблема с сессиями при использовании буферизации вывода
az

Replies: 8
Views: 5288

PostForum: Разное :: PHP   Posted: Tue Jul 05, 2005 12:02 pm   Subject: Проблема с сессиями при использовании буферизации вывода
Дмитрий, прекрасно представляю себя на месте php :)
Проблемы это, однако не решило :(
Код:


<?php
ob_start("ob_gzhandler");
session_start();
?>

<a href = "test.php">Test page</a>

<?php
$data = ob_get_clean();
echo $data;
session_destroy();
?>

Однозначно не добавляет идентификатор сессии к URL :(
Вначале я думал что php начинает добавлять идентификаторы сессий к URL, только к тем данным, которые попадают в stdout.
А учитывая тот момент, что они сжаты - не может правильно пропарсить и ничего не выводит.
Но! Смотрим следущий код:

<?php
ob_start();
session_start();
?>

<a href = "test.php">Test page</a>

<?php
$data = ob_get_clean();
echo $data;
session_destroy();
?>

Результат один в один повторяет предыдущий - хотя поток попадающий в stdout не сжат.
Значит, насколько я понимаю, одно из двух: или php считает ...
  Topic: Проблема с сессиями при использовании буферизации вывода
az

Replies: 8
Views: 5288

PostForum: Разное :: PHP   Posted: Tue Jul 05, 2005 11:27 am   Subject: Проблема с сессиями при использовании буферизации вывода
Здравствуйте!
Появилась проблема при использовании сессий совместно с буферизацией вывода. Приведу пример:


<?php

session_start();
ob_start ();

?>

<a href = "test.php">Test page</a>

<?php

$data = ob_get_clean();

$archive = 1; // Флаг, определяет необходимость сжатия данных

if (0 == $archive) {
echo $data;
}
else {
$compress = gzcompress($data, 9);
$compress = substr($compress, 0, -4); // Fix crc bug...
$compress = "\x1f\x8b\x08\x00\x00\x00\x00\x00".$compress; // Add gzip header
$compress .= pack('V', crc32($data)).pack('V', strlen($data));

Header('Content-Encoding: gzip');
Header('Content-Length: '.strlen($compress));
echo $compress;
}

session_destroy();

?>


Итак, что мы видим? Если куки отключены, php должен автоматически дописать к каждому URL идентифик ...
 
Page 1 of 1 All times are GMT + 3 Hours
XML