文件读出后赋值的问题 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>"; }把这些散了!呵呵! 如果知道id为2了,怎么一次搜索得出 “新闻 新闻下级”呢?? 一个关于php登陆的问题 求解 新人问个关于运算符的问题 php静态地址 wampServer 80端口被占? PHP对比MD5密码遇到问题! 数据有时能够提交,有时不提交不了,急! 有谁做过可以发短信的站点吗?有什么好的代码可以参考吗? "/:(^[a-zA-Z]+\w{0,14}):/"为何不能匹配;开头和结尾、中间是字母开头的内容包含下划线数字的字符串? 正则问题,关于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>";
}
把这些散了!呵呵!