|
|
|
| Вот скрипт для записи новостей в сайт:
<?
session_start(); // Maintain session state
header("Cache-control: private");
$filename="usersnews.php";
$file = file($filename);
for($i = 0; $j < 5; $i++)
{
$oldLines[$i+1] = $file[$i];
if ((strcmp(substr($oldLines[$i], 0, 3), "<b>")) == 0) $j++;
}
if($_SESSION['permission'] == 2)
{
$data="<font color=red><b>".date("d.m.Y").": </b><br> ".nl2br(htmlspecialchars(@$_POST[text]))." (from ".@$_SESSION["user"].")</font><br>\r\n";
}
elseif($_SESSION['permission'] == 1)
{
$data="<font color=green><b>".date("d.m.Y").": </b><br> ".nl2br(htmlspecialchars(@$_POST[text]))." (from ".@$_SESSION["user"].")</font><br>\r\n";
}
else
{
$data="<b>".date("d.m.Y").": </b><br> ".nl2br(htmlspecialchars(@$_POST[text]))." (from ".@$_SESSION["user"].")<br>\r\n";
}
$oldLines[0]=$data;
$fp = fopen($filename, "w");
for($i = 0; $i < sizeof($file)+1; $i++){
@fwrite($fp, $oldLines[$i]);
}
fclose($fp);
$msg=@htmlspecialchars($_POST[text]);
$translit=@EncodeString($_POST[text]);
//do mail delivery
$filename="mailusers.php";
$mfile = file($filename);
$totalLines = sizeof($mfile);
for($i = 0; $i < $totalLines; $i++){
if(" " != substr($mfile[$i], 0, 2)){
@list($type, $usr, $passwd, $address) = explode("|", $mfile[$i]);
if($type==1){
mail($address, "??????? @ndrySite",$msg, "From: News@andrysite.hut1.ru");
}else if($type==2){
mail($address,"",$translit, "From: @ndrySite");
}
}
}
function encodestring($st)
{
// ??????? ???????? "??????????????" ??????.
$st=strtr($st,"??????????????????????????",
"abvgdeeziyklmnoprstufh'iei");
$st=strtr($st,"??????????????????????????",
"ABVGDEEZIYKLMNOPRSTUFH'IEI");
// ????? — "???????????????".
$st=strtr($st,array(
"?"=>"zh", "?"=>"ts", "?"=>"ch", "?"=>"sh",
"?"=>"shch","?"=>"", "?"=>"yu", "?"=>"ya",
"?"=>"ZH", "?"=>"TS", "?"=>"CH", "?"=>"SH",
"?"=>"SHCH","?"=>"", "?"=>"YU", "?"=>"YA",
"?"=>"i", "?"=>"Yi", "?"=>"ie", "?"=>"Ye"
));
// ?????????? ?????????.
return $st;
}
include("index.php");
?>
|
Но он не работает, почему? Когда его запускаеш, то страница грузиться до бесконечности! | |
|
|
|
|
|
|
|
для: @ndry
(12.08.2005 в 21:28)
| | А много записей в usersnews.php? | |
|
|
|
|
|
|
|
для: cheops
(12.08.2005 в 22:34)
| | 1, больше не добавляет, а нужно чтоб добавляло в конец файла, с ограничением 15 записей! Если их больше 15, то удаляем пследнюю! | |
|
|
|
|
|
|
|
для: cheops
(12.08.2005 в 22:34)
| | А где дело происходит? На хостинге или на локальной машине? Проверьте отправку нескольких писем в отдельном скрипте - иногда хостеры намеренно ставят задержку или ещё что-то? Как протекает отправка быстро или нет? | |
|
|
|
|
|
|
|
для: cheops
(12.08.2005 в 23:22)
| | Это происходит на локальной машине, хочу обяснить:
это срипт новостей, посланая новость записываеться в файл и отправляеться по почте (отравка происходит удачно). | |
|
|
|
|
|
|
|
для: @ndry
(12.08.2005 в 23:26)
| | Если закоментировать mail() не быстрее выполняется скрипт? | |
|
|
|
|
|
|
|
для: cheops
(12.08.2005 в 23:48)
| | Он выполняеться если закомплеировать
for($i = 0; $j < 5; $i++)
{
$oldLines[$i+1] = $file[$i];
if ((strcmp(substr($oldLines[$i], 0, 3), "<b>")) == 0) $j++;
}
|
!!!!!! | |
|
|
|
|
автор: mbyte (20.08.2005 в 16:58) |
|
|
для: @ndry
(12.08.2005 в 23:51)
| | Он будет выполнятся до бесконечности, пока у тебя не будет выполнятся условие, а оно, видимо, не выполняется. Внимательно пересмотри, что у тебя в тексте, и что за експрешн. | |
|
|
|
|
|
|
|
для: @ndry
(12.08.2005 в 23:51)
| | Читай for внимательно. Цикл по $i, а условие выхода - $j < 5. | |
|
|
|