PHP и с чем его едят....

PainKiller

Пастафарианец
Команда форуму
Супер Модератор
Гм. А можно вопрос? НАФИГА?!?! :)
И раскладку переключать постоянно и английский более удобный для программинга
Более удобный=) А ты хочешь сказать, что вышепредставленное не улыбнуло?=)
 

PainKiller

Пастафарианец
Команда форуму
Супер Модератор
Так, нашел интересный материал о многопоточности завязанной на сокеты:
 

PainKiller

Пастафарианец
Команда форуму
Супер Модератор
Собсно вопрос:
Если в mysql я делаю временную таблицу, то - она будет уничтожаться по mysql_close. Так? А если случайно уничтожается сессияя, но коннект остается, таблица тоже удаляется? Отпишитесь, кто сталкивался) Заранее спасибо.
 

dreamer

Member
Собсно вопрос:
Если в mysql я делаю временную таблицу, то - она будет уничтожаться по mysql_close. Так? А если случайно уничтожается сессияя, но коннект остается, таблица тоже удаляется? Отпишитесь, кто сталкивался) Заранее спасибо.
С сайта :
You can use the TEMPORARY keyword when creating a table. A TEMPORARY table is visible only to the current connection, and is dropped automatically when the connection is closed. This means that two different connections can use the same temporary table name without conflicting with each other or with an existing non-TEMPORARY table of the same name. (The existing table is hidden until the temporary table is dropped.) To create temporary tables, you must have the CREATE TEMPORARY TABLES privilege.
Из чего можно понять, что даже если после окончания работы скрипта соединение не будет закрыто ты об этом не узнаешь и в следующем соединении будешь юзать новую таблицу, а эта когда-нибудь все-таки удалится.
 

PainKiller

Пастафарианец
Команда форуму
Супер Модератор
Так, с этим вроде бы понятно.
Еще один вопрос. Вот у меня есть программулина, ну допустим на перле(немного абстрагируюсь от пхп).
Код:
#!/usr/bin/perl -w
use threads;

use CGI;
print "Content-type: text/html\n\n";
sleep 2;

threads->new(\&get_now, 'number one')->join();

threads->new(\&get_now, 'number two')->join();

sub get_now

{

    my $arg = shift;

    print "Thread ", $arg, ": time = ", time(), "\n\n";

    sleep 1;

}
Так вот. Многопоточность получается какая-то не многопоточная. Оно выполнит 3 потока и отдаст их только после выполнения. Удалось выяснить, что это из-за работы HTTP 1.1.
Теперь сам вопрос. Организация межпоточных коммуникаций в 2 стороны. Можно ли сообщить другому потоку, что ему пора остановиться не обновляя страницу, а также можно-ли сделать так, чтобы страница загрузилась частично(например внешний вид), а затем запустить поток, который будет мониторить что-либо?
Заранее спасибо.
 

dreamer

Member
Так вот. Многопоточность получается какая-то не многопоточная. Оно выполнит 3 потока и отдаст их только после выполнения. Удалось выяснить, что это из-за работы HTTP 1.1.
Теперь сам вопрос. Организация межпоточных коммуникаций в 2 стороны. Можно ли сообщить другому потоку, что ему пора остановиться не обновляя страницу, а также можно-ли сделать так, чтобы страница загрузилась частично(например внешний вид), а затем запустить поток, который будет мониторить что-либо?
Заранее спасибо.
Тут немного другой подход.
Если в обычном программировании вы привыкли делать нечто такое:
Код:
print "Enter number:"
read number
print "{number}*{number} = ", number*number
То в вебе это две логически разных программы:
Код:
func1 () { show form(number: "Enter number") submit to func2 }
--2--
func2(number) { show "{number}*{number} = ", number*number }
И потоков обычных в вебе нет -- каждый запрос выполняется в отдельном потоке.
Т.е. если вам нужно после загрузки что-то делать на странице то это два разных скрипта: один для загрузки, а второй для мониторинга (или что там вам надо). Причем второй скрипт вам нужно либо реализовать на клиентской стороне либо вызывать используя аякс.
Нужно понимать что HTTP протокол подразумевает запрос - работу скрипта - ответ клиенту в отличие от непрерывной работы программы в обычном программировании.
 

PainKiller

Пастафарианец
Команда форуму
Супер Модератор
Тут немного другой подход.
Если в обычном программировании вы привыкли делать нечто такое:
Код:
print "Enter number:"
read number
print "{number}*{number} = ", number*number
То в вебе это две логически разных программы:
Код:
func1 () { show form(number: "Enter number") submit to func2 }
--2--
func2(number) { show "{number}*{number} = ", number*number }
И потоков обычных в вебе нет -- каждый запрос выполняется в отдельном потоке.
Т.е. если вам нужно после загрузки что-то делать на странице то это два разных скрипта: один для загрузки, а второй для мониторинга (или что там вам надо). Причем второй скрипт вам нужно либо реализовать на клиентской стороне либо вызывать используя аякс.
Нужно понимать что HTTP протокол подразумевает запрос - работу скрипта - ответ клиенту в отличие от непрерывной работы программы в обычном программировании.
Это я прекрасно понимаю. Жаль, но ничего новго узнать не вышло, но огромное спасибо=)
Решил при помощи сессий(CGI::Session).
 

Le Edelweiss

Няяяяя.... ^_^
Відповідь: PHP и с чем его едят....

Люди, проблема, хелп ми!
Считал я с базы текст, все кавычки были представлены в ". Как мне их декодировать в нормальные кавычки? htmlspecialchars_decode() - отказывается работать абсолютно. Инет весь облазил, так ничего толком и не нашел... :( Я использую BBcode.
PHP:
$post_comm = new bbcode($text);
$comm_text = $post_comm -> get_html();
После получения ХТМЛ кода вылазит " и хз что с ним делать
 

dreamer

Member
Re: Відповідь: PHP и с чем его едят....

Люди, проблема, хелп ми!
Считал я с базы текст, все кавычки были представлены в ". Как мне их декодировать в нормальные кавычки? htmlspecialchars_decode() - отказывается работать абсолютно. Инет весь облазил, так ничего толком и не нашел... :( Я использую BBcode.
PHP:
$post_comm = new bbcode($text);
$comm_text = $post_comm -> get_html();
После получения ХТМЛ кода вылазит " и хз что с ним делать
PHP:
<?php
function unhtmlquotes ($string)
{
	$trans_tbl = get_html_translation_table (HTML_QUOTES);
	$trans_tbl = array_flip ($trans_tbl);
	return strtr ($string, $trans_tbl);
}
?>
 

Le Edelweiss

Няяяяя.... ^_^
Відповідь: PHP и с чем его едят....

Fatal error: Cannot redeclare unhtmlquotes() :(
 
Зверху