Появилась проблема(или не проблема). Есть один скрипт, запускаю на локалке. Работает он долго, пишет данные в БД. Работает всё исправно, но после минут 10 работы в браузере выдаётся сообщение о скачке PHP файла скрипта! Как такое можно предотвратить? Вначале скрипта стоит естественно set_time_limit(0);
А когда скачиваешь - там код php скрипта или уже обработанный html код? P.S. Если добавить в начале скрипта ignore_user_abort(true); то не придётся сидеть с постоянно включенным браузером - он будет работать и после того, как ты его закроешь.
class idea { var $EK = array(); var $DK = array(); function MulInv($x) { if($x < 2) return $x; $t1 = 0x10001 / $x; $y = 0x10001 % $x; if( $y == 1 ) return (1-$t1) & 0xffff; $t0 = 1; do { $q = $x / $y; $x = $x % $y; $t0 += $q * $t1; if($x == 1) return $t0; $q = $y / $x; $y = $y % $x; $t1 += $q * $t0; } while($y != 1); return (1-$t1) & 0xffff; } function mul($x, $y) { do { if(($_t16 = ($y))) { if(($x = ($x) & 0xffff)) { $_t32 = $x * $_t16; $x = $_t32 & 0xffff; $_t16 = $_t32 >> 16; $x = (($x)-$_t16) + ($x<$_t16?1:0); } else { $x = 1 - $_t16; } } else { $x = 1 - $x; } } while(0); return $x; } function init_key($key, $size) { for($i=0; $i < $size; $i++) { $this->EK[$i] = $key[$i]; } for($i=0; $i < 8; $i++) { $this->EK[$i] = ($this->EK[$i] << 8) | ($this->EK[$i] >> 8); } for($i=1; $i < 6; $i++) { $this->EK[($i*8)+0] = ($this->EK[(($i-1)*8)+1] << 9) | ($this->EK[(($i-1)*8)+2] >> 7); $this->EK[($i*8)+1] = ($this->EK[(($i-1)*8)+2] << 9) | ($this->EK[(($i-1)*8)+3] >> 7); $this->EK[($i*8)+2] = ($this->EK[(($i-1)*8)+3] << 9) | ($this->EK[(($i-1)*8)+4] >> 7); $this->EK[($i*8)+3] = ($this->EK[(($i-1)*8)+4] << 9) | ($this->EK[(($i-1)*8)+5] >> 7); $this->EK[($i*8)+4] = ($this->EK[(($i-1)*8)+5] << 9) | ($this->EK[(($i-1)*8)+6] >> 7); $this->EK[($i*8)+5] = ($this->EK[(($i-1)*8)+6] << 9) | ($this->EK[(($i-1)*8)+7] >> 7); $this->EK[($i*8)+6] = ($this->EK[(($i-1)*8)+7] << 9) | ($this->EK[(($i-1)*8)+0] >> 7); $this->EK[($i*8)+7] = ($this->EK[(($i-1)*8)+0] << 9) | ($this->EK[(($i-1)*8)+1] >> 7); } $this->EK[48] = ($this->EK[41] << 9) | ($this->EK[42] >> 7); $this->EK[49] = ($this->EK[42] << 9) | ($this->EK[43] >> 7); $this->EK[50] = ($this->EK[43] << 9) | ($this->EK[44] >> 7); $this->EK[51] = ($this->EK[44] << 9) | ($this->EK[45] >> 7); $this->DK[51] = $this->MulInv($this->EK[3]); $this->DK[50] = -$this->EK[2]; $this->DK[49] = -$this->EK[1]; $this->DK[48] = $this->MulInv($this->EK[0]); for($i=0; $i < 7; $i++) { $this->DK[47-$i*6] = $this->EK[$i*6+5]; $this->DK[46-$i*6] = $this->EK[$i*6+4]; $this->DK[45-$i*6] = $this->MulInv($this->EK[$i*6+9]); $this->DK[43-$i*6] = -$this->EK[$i*6+8]; $this->DK[44-$i*6] = -$this->EK[$i*6+7]; $this->DK[42-$i*6] = $this->MulInv($this->EK[$i*6+6]); } $this->DK[5] = $this->EK[47]; $this->DK[4] = $this->EK[46]; $this->DK[3] = $this->MulInv($this->EK[51]); $this->DK[2] = -$this->EK[50]; $this->DK[1] = -$this->EK[49]; $this->DK[0] = $this->MulInv($this->EK[48]); } function DecryptECB($inData) { $x1 = ($x1>>8) | ($x1<<8); $x2 = ($x2>>8) | ($x2<<8); $x3 = ($x3>>8) | ($x3<<8); $x4 = ($x4>>8) | ($x4<<8); for($i=0; $i < 7; $i++) { $x1 = $this->Mul($x1, $this->DK[($i*6)+0]); $x2 += $this->DK[($i*6)+1]; $x3 += $this->DK[($i*6)+2]; $x4 = $this->Mul($x4, $this->DK[($i*6)+3]); $s3 = $x3; $x3 = $x3 ^ $x1; $x3 = $this->Mul($x3, $this->DK[($i*6)+4]); $s2 = $x2; $x2 = $x2 ^ $x4; $x2 += $x3; $x2 = $this->Mul($x2, $this->DK[($i*6)+5]); $x3 += $x2; $x1 = $x1 ^ $x2; $x4 = $x4 ^ $x3; $x2 = $x2 ^ $s3; $x3 = $x3 ^ $s2; } $x1 = $this->Mul($x1, $this->DK[48]); $x3 += $this->DK[49]; $x2 += $this->DK[50]; $x4 = $this->Mul($x4, $this->DK[51]); $x1 = ($x1 >> 8) | ($x1 << 8); $s2 = ($x3 >> 8) | ($x3 << 8); $x3 = ($x2 >> 8) | ($x2 << 8); $x4 = ($x4 >> 8) | ($x4 << 8); $x2 = $s2; } }
Помогите разобраться с шаблонизатором есть main.tpl в нём находится PHP: <span class="breadcrumbs pathway" style="font-size:1.2em;">{<?php print $module; ?>}</span> {cotegory} и {FAQ} и есть еще index.php В нём находится PHP: $module = $_GET['mod']; switch($module) { case 'rules': case 'registration': case 'info': case 'about': case 'stat': case 'auth': case 'login': case 'out': case 'search': case 'forgot': case 'whois': case 'category': case 'faq': case 'news': break; default: $module = 'top100'; break; } } $tpl = new Template; //инициируем класс $tpl->dir = ROOTPATH.'/'.$topclass->version().'/'; //задаём местоположение папки с шаблонами $tpl->load_template('main.tpl'); //загружаем каркас $tpl->set('{category}', $tpl->sub_load_template('category.tpl')); $tpl->set('{FAQ}', $tpl->sub_load_template('faq.tpl')); $tpl->set('{'.$module.'}', $tpl->sub_load_template($module.'.tpl')); $tpl->compile('main'); //собираем шаблон eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php '); //выводим результат работы, с возможностью вставки пхп кода в tpl $tpl->global_clear(); //очищаем все переменные для возможно следующего шаблона {category} и {FAQ} благополучно заменяются, а вот {<?php print $module; ?>} не хочет , просто выводит содержание переменной $module в фигурных скобках Помогите пожалуйста разобраться
А как тогда с этим бороться? class скручен с DLE PHP: public function load_template($tpl_name) { $time_before = $this->get_real_time(); if ($tpl_name == '' || !file_exists($this->dir . DIRECTORY_SEPARATOR . $tpl_name)) { die ("Невозможно загрузить шаблон: ". $tpl_name); return false;} $this->template = file_get_contents($this->dir . DIRECTORY_SEPARATOR . $tpl_name); if ( stristr( $this->template, "{include file=" ) ) { $this->template = preg_replace( "#\\{include file=['\"](.+?)['\"]\\}#ies","\$this->sub_load_template('\\1')", $this->template); } $this->copy_template = $this->template; $this->template_parse_time += $this->get_real_time() - $time_before; return true; }
SeNaP, у тебя много что непонятно. Попробуй заменить Code: $tpl->set('{'.$module.'}', $tpl->sub_load_template($module.'.tpl')); На это Code: $module = $tpl->sub_load_template($module.'.tpl');
Есть желание научится делать нормальный дизайн для сайтов. Подскажите как рисовать для веба в фотошопе, где этому можно поучиться. Можно ли использовать gimp 2. зы только пожалуйста НЕ нужно давать ссылки на гугл, мне не интересно фотки ретушировать...
Fliplab, читайте внимательнее. Кроме mcrypt, я предложил openssl. Либо берёте любой сишный код и переписываете на PHP.
Нужно осуществить такую вещь: Есть скрипт1 и скрипт2. Скрипт1 начинает работу, в середине скрипт1 обращается к скрипту 2(курлом), запускается скрипт2. Как сделать, чтобы скрипт1 продолжил работу только после окончания работы скрипт2?