1) поиск имен пользователей в файле.
$lines = file('oscam.user') or die ("ошибка открытия файла");
for ($i=0; $i<count($lines); $i++)
{
$line=$lines[$i];
if(strpos($line,"account")!=false)
{$line=$lines[$i+1];
$rn=strpos($line,"=");
$dlina=strlen($line);
$user=substr($line,$rn+1,$dlina-$rn-1);
echo("<input name=\"names\" type=\"radio\" value=\"$user\">$user");
echo("<br>");
}
2) поиск личных данных пользователей в файле
Свернутый текст
<?php
$names=$_POST["names"];
echo("<center><b>изменение для пользователя"." ".$_POST["names"]." "."</b></center>");
$lines = file('oscam.user') or die ("ошибка открытия файла");
$i=0;
$j= 1;
while ($i<count($lines))
{
$line=$lines[$i];
if(strpos($line,$_POST["names"])!=false)
{ $i++;
while ($i<count($lines))
{ $line=$lines[$i];
if(strpos($line,"account")==false)
{
$rn=strpos($line,"=");
$dlina=strlen($line);
$nazv=substr($line,0,$rn-1);
$otv=substr($line,$rn+1,$dlina-$rn-1);
$name1=$j+1;
$name2=$j+2;
echo("<input name=\"$j\" type=\"hidden\" value=\"$nazv\" >$nazv");
echo("<input name=\"$name1\" type=\"text\ value=\"$otv\">");
echo("<input name=\"$name2\" type=\"hidden\" value=\"$otv\" >");
echo("<br>");
$i++;
$j=$j+3;
}
else
{
$i=count($lines);
}
}
}
else
{
$i++;
}
}
echo("<input name=\"kolvo\" type=\"hidden\" value=\"$j\">");
echo("<input name=\"names\" type=\"hidden\" value=\"$names\">") ;
?>
3) запись данных пользователей в файл
Свернутый текст
<?php
function WriteToFile ($path_to_file,$data) {
$lock = fopen("block.txt","a");
if(flock($lock, LOCK_EX)) {
$tmp=fopen("tmp.txt","w");
for($i=0;$i<count ($data);$i++) {
fputs($tmp, "$data[$i]");
}
fclose($tmp);
unlink("$path_to_file");
rename("tmp.txt", "$path_to_file");
flock($lock, LOCK_UN);
fclose($lock);
}
}
$lines = file('oscam.user') or die ("ошибка открытия файла");
{
$i=0;
$names=$_POST["names"];
while ($i<count($lines))
{
$line=$lines[$i];
$line=trim($line);
if(strpos($line,$names)!=false)
{
$kolvo=$_POST["kolvo"];
$j=1;
$i++;
while ($i<count($lines))
{ $line=$lines[$i];
$nomer1=$j+1;
$nomer2=$j+2;
if (($_POST["$nomer1"]=="")!=false) {
$line=$_POST["$j"]." =".$_POST["$nomer2"];
$lines[$i]="$line\r\n";
$j=$j+3; }
else
{
$line=$_POST["$j"]." =".$_POST["$nomer1"];
$lines[$i]="$line\r\n";
$j=$j+3;
}
if ($j==$kolvo)
{
$i=count($lines);
}
}
}
else $i++;
}
}
$file="oscam.user";
WriteToFile($file,$lines);
?>
Opera, Mozilla отрабатывают эти скрипты без ошибок, но IE первые два отрабатывает а запись в файл нет. 3 скрипту все параметры передаются(проверял), но на strpos все заканчивается т.е. не происходит поиск а строке при использование IE. как решить этот вопрос?
Спустя 13 минут, 1 секунда (31.01.2010 - 11:43) krasilich написал(а):
Ну, вопервых, браузер не имеет никакого отношения к выполнению скрипта. Единственное чем он может повлиять на скрипт это http заголовками, но в этих скриптах обработки заголовков и массива $_SERVER нету, так что можно утверждать, что браузер не при чем
И во-вторых, пишите код в соответствующих тегах с человеческим форматированием, а то так ведь тяжело разобраться что там к чему в этих скриптах.
И во-вторых, пишите код в соответствующих тегах с человеческим форматированием, а то так ведь тяжело разобраться что там к чему в этих скриптах.
Спустя 10 минут, 38 секунд (31.01.2010 - 11:54) Ilya написал(а):
Я хотел уточнить почему именно у IE при переходе на 3 скрипт не происходит записи в файл, точнее файл изменяется но нового туда не записывается.
при использование IE в 3 скрипте при проверке условия "if(strpos($line,$names)!=false)" не происходит сравнения хотя данные которые дадут положительные результат есть. может нужно изменить параметры php.ini?
при использование IE в 3 скрипте при проверке условия "if(strpos($line,$names)!=false)" не происходит сравнения хотя данные которые дадут положительные результат есть. может нужно изменить параметры php.ini?
Спустя 5 минут, 39 секунд (31.01.2010 - 12:00) krasilich написал(а):
<?php
function WriteToFile ($path_to_file, $data)
{
$lock = fopen("block.txt", "a");
if(flock($lock, LOCK_EX))
{
$tmp = fopen("tmp.txt", "w");
for($i = 0; $i < ount ($data); $i++)
{
fputs($tmp, "$data[$i]");
}
fclose($tmp);
unlink("$path_to_file");
rename("tmp.txt", "$path_to_file");
flock($lock, LOCK_UN);
fclose($lock);
}
}
$lines = file('oscam.user') or die ("ошибка открытия файла");
{
$i = 0;
$names = $_POST["names"];
while ($i < ount($lines))
{
$line = $lines[$i];
$line = trim($line);
if(strpos($line, $names)!= false)
{
$kolvo = $_POST["kolvo"];
$j = 1;
$i++;
while ($i < ount($lines))
{
$line = $lines[$i];
$nomer1 = $j + 1;
$nomer2 = $j + 2;
if (($_POST["$nomer1"] == "")!= false)
{
$line = $_POST["$j"] . " =" . $_POST["$nomer2"];
$lines[$i] = "$line\r\n";
$j = $j + 3;
}
else
{
$line = $_POST["$j"] . " =" . $_POST["$nomer1"];
$lines[$i] = "$line\r\n";
$j = $j + 3;
}
if ($j == $kolvo)
{
$i = count($lines);
}
}
}
else $i++;
}
}
$file = "oscam.user";
WriteToFile($file, $lines);?>
Вот третий скрипт, если кто будет в нем разбираься....