文件读出后赋值的问题 session_start()要写在头部,在用到session的任何输出之前 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我就是不用session的话。$line出了那个循环后也没有数据。 楼上说:我就是不用session的话。$line出了那个循环后也没有数据。$_SESSION['line']=$line;这句就是用把$line写入session的了呀!怎么说还不用session呢? while(!feof($fp)) { $line=fgets($fp); print $line;//此句打印:ceshi:ceshi } print "2:".$line;//此句只打印:2:我的意思就是这样 那我想要得到$line的值怎么办那?? [times@sz int]$ wc -m user.txt12 user.txt内容是ceshi:ceshi怎么会有12个字符呢?? 天~说了半天是说读文件…但是也不用搞个session来传值吧?弄个数组来传值咯,然后在循环外面输出数组 文件有好多行,你那个是循环读取行,请问你要得到$line是要得到哪一行?最后一行是空行,所以你ECHO出来也是空行,但不代表没值。比如$a='',你能说$a是没值吗?。你用while(!feof($fp)) { $line.=fgets($fp); $_SESSION['line']=$line; echo $_SESSION['line'];//这里有数据 }看看。 呵呵,你是在linux下写的那个文件吧?结尾有个 回车0A 呵呵,本来就是不可见的嘛,hoho。如果你要是在windows下编写txt文档,还会13个字符呢另外,水米的说法“最后一行是空行”是不尽然的,hoho最后是文件结束符。 string fgets ( int handle [, int length] )从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。这个才是 fgets 的定义 结束的条件是(!feof($fp)),跟fgets没什么关系。是不是$fp这个指针有问题呢? 那我要怎么才可以读出那行数据啊!我只是想把这行数据取出来.ceshi:ceshi.用户名和密码来着。然后我要判断用户$_POST['username']和$_POST['password'];是不是和文件中保存的用户名和密码相同。可是每次取出来的数据都是空值。所以实在进行不下去了! <?phpif (!$submit){ $fp=fopen("user.txt",'rb'); if (!$fp) { echo '<p><strong>No users</strong></p>'; } $i=0; while(!feof($fp) && $i!=1) { $line=fgets($fp); $i++; } $output=explode(":",$line); $username1=$output[0];//有值了。现在 $password1=$output[1];}else{ echo $username1;//没有值了 if ($_POST['username']==$username1 && $_POST['password']==$password1) { echo "<script language='javascript'>"; echo "location='password.php'"; echo "</script>"; }}?>这是我的代码! 终于弄明白了 $fp=fopen("user.txt",'rb'); if (!$fp) { echo '<p><strong>No users</strong></p>'; } $i=0; while(!feof($fp) && $i!=1) { $line=fgets($fp); $i++; } $output=explode(":",$line); $username1=$output[0]; $password1=substr($output[1],0,5);//output[1]的长度是6,但是内容确是:ceshi。 echo "no".$password1; if ($_POST['username']==$username1 && $_POST['password']==$password1) { echo "<script language='javascript'>"; echo "location='password.php'"; echo "</script>"; }我在想。那以后的可怎么办那?我是说以后的任意一个文件的读写! 解决了。哈哈!不过我没多少分。先$fp1="user.txt"; $fp=fopen("user.txt",'rb'); if (!$fp) { echo '<p><strong>No users</strong></p>'; } $i=0; while(!feof($fp) && $i!=1) { $line=fgets($fp,filesize($fp1)); $i++; } $output=explode(":",$line); $username1=$output[0]; $password1=$output[1]; if ($_POST['username']==$username1 && $_POST['password']==$password1) { echo "<script language='javascript'>"; echo "location='password.php'"; echo "</script>"; }把这些散了!呵呵! 究竟tpl模板文件应放在哪里??? php designer 不执行php,显示源代码 PHP伪静态化页面的实现 PHP伪静态化页面的实现 PHP伪静态化页面的实现 email地址的接收 smarty里面的缓存怎么没有起作用??? PHP + Editplus的问题 附加地址传递问题? 关于向文本中写入数据的问题! 将字符串中的全角字符替换成半角出乱码?? PHP如何让所有数字都加上双引号 正则问题,关于preg_replace使用的一点疑问(问题本身已经解决,但我实在想不通) PHP操作ORACLE数据库如何添加自动编号的数据?
{
$line=fgets($fp);
print $line;//此句打印:ceshi:ceshi
}
print "2:".$line;//此句只打印:2:我的意思就是这样
12 user.txt内容是ceshi:ceshi
怎么会有12个字符呢??
弄个数组来传值咯,然后在循环外面输出数组
最后一行是空行,所以你ECHO出来也是空行,但不代表没值。
比如$a='',你能说$a是没值吗?。
你用
while(!feof($fp))
{
$line.=fgets($fp);
$_SESSION['line']=$line;
echo $_SESSION['line'];//这里有数据
}
看看。
你是在linux下写的那个文件吧?
结尾有个 回车0A 呵呵,本来就是不可见的嘛,hoho。
如果你要是在windows下编写txt文档,还会13个字符呢
另外,水米的说法“最后一行是空行”是不尽然的,hoho
最后是文件结束符。
从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
这个才是 fgets 的定义
if (!$submit)
{
$fp=fopen("user.txt",'rb');
if (!$fp)
{
echo '<p><strong>No users</strong></p>';
}
$i=0;
while(!feof($fp) && $i!=1)
{
$line=fgets($fp);
$i++;
}
$output=explode(":",$line);
$username1=$output[0];//有值了。现在
$password1=$output[1];
}
else
{ echo $username1;//没有值了
if ($_POST['username']==$username1 && $_POST['password']==$password1)
{
echo "<script language='javascript'>";
echo "location='password.php'";
echo "</script>";
}
}
?>
这是我的代码!
$fp=fopen("user.txt",'rb');
if (!$fp)
{
echo '<p><strong>No users</strong></p>';
}
$i=0;
while(!feof($fp) && $i!=1)
{
$line=fgets($fp);
$i++;
}
$output=explode(":",$line);
$username1=$output[0];
$password1=substr($output[1],0,5);//output[1]的长度是6,但是内容确是:ceshi。
echo "no".$password1;
if ($_POST['username']==$username1 && $_POST['password']==$password1)
{
echo "<script language='javascript'>";
echo "location='password.php'";
echo "</script>";
}
我在想。那以后的可怎么办那?我是说以后的任意一个文件的读写!
$fp=fopen("user.txt",'rb');
if (!$fp)
{
echo '<p><strong>No users</strong></p>';
}
$i=0;
while(!feof($fp) && $i!=1)
{
$line=fgets($fp,filesize($fp1));
$i++;
}
$output=explode(":",$line);
$username1=$output[0];
$password1=$output[1];
if ($_POST['username']==$username1 && $_POST['password']==$password1)
{
echo "<script language='javascript'>";
echo "location='password.php'";
echo "</script>";
}
把这些散了!呵呵!