Jump to content

variable fopen file name loop to make multiple files?


Anag

Recommended Posts

Hello,

 

I'm working on a script which should read lines from a file keyword.txt create a new file with that variable name, insert the content close and loop through all the lines in the keyword file. The loop itself works but now that i'm adding the fopen fwrite and fclose i'm running into trouble. I'm not that great a coder and have pieced this together so far. I'd appreciate any suggestions on how to fix the fopen and other file functions to create unique files using the keywords from the file

 

Thanks in advance

 

<?php
$read_file = file('keywords.txt');
foreach($read_file as $var)
    {
    $file = fopen($var, "x");
$content = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
<title>This is the title</title>
</head>
<body>
<h2>The keyword is $var</h2>
<p><p>
</body>
</html>";
fwrite($file, $content);
fclose($file);
    }
?>

This is the warning i get it repeats for each entry in keywords.txt. New York is on the first line

 

Warning: fopen(New York .txt) [function.fopen]: failed to open stream: Invalid argument in C:\script.php on line 5

Warning: fwrite() expects parameter 1 to be resource, boolean given in C:\script.php on line 17

Warning: fclose() expects parameter 1 to be resource, boolean given in C:\script.php on line 18

I have always found the file_put_contents() is alot easier to use :)

http://au.php.net/manual/en/function.file-put-contents.php

I am not 100% sure as to why you are getting the first error, i suspect the file exists and you are using mode x which will return false thus causing the second 2 errors

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.