php中的错误不知道我做错了什么

时间:2011-07-10 16:18:26

标签: php

我收到此错误 警告:fopen()需要至少2个参数,在第19行的C:\ wamp \ www \ fileFormProcess.php中给出1

警告:feof():提供的参数不是第29行C:\ wamp \ www \ fileFormProcess.php中的有效流资源

警告:fgets():提供的参数不是第30行的C:\ wamp \ www \ fileFormProcess.php中的有效流资源

警告:第31行的C:\ wamp \ www \ fileFormProcess.php中的explode()参数计数错误

我一直在查看文件,看不出我做错了什么。 这是我的代码:

<?php

if($_POST['firstName']==""|| $_POST['lastName']==""|| $_POST['address']==""||      $_POST['city']==""|| $_POST['state']==""|| $_POST['zip']==""){
header("Location:fileInsert.php?status=2");
 }
else{
$newRecord="\n";
$newRecord.=$_POST['lastName']."|".$_POST['firstName']."|".$_POST['address']."|".$_POST['city']."|".$_POST['state']."|".$_POST['zip'];

$myFile="records.txt";
$fp = fopen($myFile, "a");

//Write the data to the file
fwrite($fp, $newRecord);

//Close the file
fclose($fp);
if (file_exists($myFile)) {
$file = fopen($myFile.'r');
$rowcount=0;
echo "<html>\n";
echo " <head>\n";
echo " <title>Sucess!</title>\n";
echo " <link href=\"contact1.css\" type=\"text/css\" rel=\'stlesheet\">";
echo " </head>\n";
echo " <body>";
echo " <table width=\"75%\" cellpadding=\"2\" cellspacing=\"2\" border=\"1\">\n";
echo " <tr>\n";
while (!feof($file)) {
$line = fgets($file);
$aryData=explode("|",$line);
$firstname=$aryData[1];
$lastname=$aryData[0];
$address=$aryData[2];
$city=$aryData[3];
$state=$aryData[4];
$zip=$aryData[5];
echo "<td align=\"center\">";
echo $firstname."".lastname;
echo "<br>".$address;
echo "<br>".$city.".".$state."".$zip;
echo "</td>\n";
$rowcount++;
if ($rowcount!=0 && $rowcount%3==0){
  echo " </tr>\n";
  echo " <tr>\n";
    }

}
while($rowcount%3!=0){
 echo "<td>&nbsp;</td>\n";
 $rowcount++;
 }
 echo "</table>\n";
 }
}
echo "</body>\n";
echo " </html>\n";

<?php
if ($_GET['status']==2){
    $strMessage="<strong>All fields are required!</strong>";
 }
 elseif($_GET['status']==1){
     $strMessage="<strong>Your information has been added.</strong>";
}
else{
$strMessage="";
}
 ?>
 <html>
 <head>
 <link href="contact1.css" type="text/css" rel="stylesheet">
 <title>Write to a file</title>
 <style type="text/css">
fieldset{
width:50%;

 }
</style>

</head>
<body>
<?php echo $strMessage; ?>
<p>
<form name='myForm' method='post' action="fileFormProcess.php">
  <fildset><legand><i>All Fields are Required</i></legand>

  <table id='form'  border='0' cellpadding='6'>
  <tr>
<td>First Name:</td>
<td><input type='text' name='firstName'></td>
  </tr>
  <tr>
<td>Last Name:</td>
<td>
<input type='text' name='lastName'></td>
  </tr>
   <tr>
<td>Street Address:</td>
<td><input type='text' name='address'></td>
   </tr>
   <tr>
<td>City:</td>
<td><input type='text' name='city'></td>
  </tr>
  <tr>
<td>State:</td>
<td><input type='text' name='state'></td>
  </tr>
  <tr>
<td>Zip:</td>
<td><input type='text' name='zip'></td>
   </tr>
   <tr>
<td><input type='reset' value='Reset Form' name='reset'></td>
<td><input type='submit' value='Submit Form' name='submit'></td>
</tr>
  </table>
  </fieldset>
  </form>
  </p>
  </body>
  </html>

这是从

中提取的record.txt文件
  Scott|Michael|23 Guist Rd|Scranton|PA|12345
  Beesly|Pam|4359 Justin Ave|Pittsburg|PA|44709
  Halpert|Jim|450 Sawdust Lane|Chicago|IL|55830
  Braff|Zach|33082 Buckthorn Rd|Dalton|OH|40988
  Keenan|Maynard|89 Treeview Blvd|Page Springs|AZ|85377
  Hedburg|Mitch|9000 Beerbohm Dr|Cadiz|OH|43990
  Cook|Dane|23 River Rd|Krabill|OR|66264
  Griffin|Lois|123 Our Street|Quahog|RI|48756

现在我确实在我的www wamp文件下保存了record.txt我只是不知道我做错了什么?

4 个答案:

答案 0 :(得分:4)

$file = fopen($myFile.'r');应为$file = fopen($myFile,'r');

答案 1 :(得分:2)

  

我收到此错误Warning: fopen() expects at least 2 parameters, 1 given in C:\wamp\www\fileFormProcess.php on line 19

那么,第19行是什么?

$file = fopen($myFile.'r');

它说它需要两个参数,但只有一个参数。参数以逗号分隔,但此行中没有逗号,因此您只给它一个参数。据推测,您打算输入,但输入.,导致错误。用

替换该行
$file = fopen($myFile,'r');

就是你需要做的一切。

答案 2 :(得分:2)

$myFile.'r'

错误...应该是逗号,我猜; - )

答案 3 :(得分:2)

此:

fopen($myFile.'r')

应该是这样的:

fopen($myFile, 'r')