Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не присоединяется символ
 
 автор: dump   (13.03.2010 в 10:58)   письмо автору
 
 

Вот фрагмент кода:
if ($pos-$pos_backup<=495 and $pos!=strlen($content))
$insert_strings=$insert_strings.$check_string;
Когда $pos=998, а $pos_backup=979, $check_string перестаёт присоединяться к $insert_strings, хотя когда $pos меньше 990-х всё работает нормально. Кто-нибудь знает в чём дело?

  Ответить  
 
 автор: Trianon   (13.03.2010 в 11:08)   письмо автору
 
   для: dump   (13.03.2010 в 10:58)
 

ставите echo до и после оператора присоединения.
и убеждаетесь, что это не так.

  Ответить  
 
 автор: dump   (13.03.2010 в 13:57)   письмо автору
 
   для: Trianon   (13.03.2010 в 11:08)
 

>ставите echo до и после оператора присоединения.
и убеждаетесь, что это не так.
Я пользуюсь отладчиком Eclipse и все значения в норме. Причём в других скриптах этот код работает нормально. Ну я попробую выложить полностью весь скрипт:
<?php
error_reporting(E_ALL & ~E_NOTICE);
//chdir ('C:/content');
create_main_page('C:/content');
function create_main_page($dir)
{
//chdir ('C:/content');
//$pos-$pos_backup!=496 or $pos!=strlen($content)
$files = glob("C:/content/*");
foreach ($files as $file)
{
if ($file == "." || $file == "..") continue;
elseif (!is_dir($file))
{
$content=file_get_contents($file);
}
}
$previos_pos=-1;
$pos_backup=0;
$pos=0;
$insert_strings=' '.'<p>';
$true=true;
While ($pos!=strlen($content))
{
While ($true)
{
While($content[$pos]!=' ' and $pos!=strlen($content))
{
$insert_strings=$insert_strings.$content[$pos];
$pos++;
}
$previos_pos=$pos;
$check_string='';
$pointer=0;
While($pointer!=2 and $pos!=strlen($content) )
{
$check_string=$check_string.$content[$pos];
$pos++;
if ($content[$pos]!=' ') $pointer=1;
elseif ($pointer==1) $pointer=2;
}

// Вот в этом месте присоединения символа не происходит
if ($pos-$pos_backup<=495 and $pos!=strlen($content))
$insert_strings=$insert_strings.$check_string;


else
{
$pos_backup=$previos_pos;
$pos=$previos_pos;
break;
}
}
$insert_strings.='<br>'."\r\n".' ';
//$i++;
$check=strlen($content);
}
//$count=strlen("\r\n");//strlen($insert_strings);
$insert_strings=substr($insert_strings,0,strlen($insert_strings)-7).'</p>'."\r\n";//' '.'</p>'."\r\n";
$main_page=<<< MAIN_PAGE
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>$title</title>
<link rel="stylesheet" type="text/css" href="screenstyle.css" media="screen" />
</head>
<body>
<div class="wholepage">
<div id="header">
<div class="mainheader">
<h2>$title</h2>
</div>
</div>
<div id="sidecontainer">
<ul class="nav">
$side_links_2uv
</ul>
</div>
<div id="content">
<h1>$title</h1>
$insert_strings
</div>
<div id="footer">
<div class="mainfooter">
<p>$title</p>
</div>
</div>
</div>
</body>
</html>
MAIN_PAGE;
file_put_contents('C:/Satelite/'.$title,$main_page);
}
/*
<li><a href="http://wm-kull.narod.ru/">Главная</a></li>
<li><a href="http://wm-kull.narod.ru">Ссылка</a></li>
<li><a href="http://wm-kull.narod.ru">Ссылка</a></li>
<li><a href="http://wm-kull.narod.ru">Ссылка</a></li>
*/
?>

  Ответить  
 
 автор: dump   (14.03.2010 в 10:17)   письмо автору
 
   для: dump   (13.03.2010 в 13:57)
 

Кстати, я заметил, что если переменная $insert_strings более 1024 байт, то к ней не присоединяются символы. Вот для примера код:
<?php
$content= <<< CONTENT
. . . And Basil? From a psychological point of view,how interesting he was! The new manner in art, the freshmode of looking at life, suggested so strangely by the merelyvisible presence of one who was unconscious of it all;the silent spirit that dwelt in dim woodland, and walked unseenin open field, suddenly showing herself, Dryadlike and not afraid,because in his soul who sought for her there had been wakenedthat wonderful vision to which alone are wonderful things revealed;the mere shapes and patterns of things becoming, as it were,refined, and gaining a kind of symbolical value, as thoughthey were themselves patterns of some other and more perfectform whose shadow they made real: how strange it all was!He remembered something like it in history. Was it not Plato,that artist in thought, who had first analyzed it?Was it not Buonarotti who had carved it in the coloured marblesof a sonnetsequence? But in our own century it was strange.. . . Yes; he would try to be to Dorian Gray what, without knowing itfgs
CONTENT;
$newcontent='fgssssssssssssssssssssssssssss';
$content=$content.$newcontent;
?>

строка $newcontent не прибавляется полностью к строке $content. Это, что так и должно быть? И как это можно изменить?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования