Dan_Mason Posted March 18, 2009 Share Posted March 18, 2009 Okay so I have been learning how to use fopen(), fwrite() and fclose(). This is the code that works when the file Test.txt Already Exists <?php $filename = 'C:\Documents and Settings\TrainingPC1\Desktop\Test.txt'; $somecontent = "I Have Successfully Written To This File\n"; //Make Sure File is Writable if (is_writable($filename)) { if (!$handle = fopen($filename, 'w')) { echo "Cannot open file ($filename)"; exit; } // Write $somecontent to the opened file. if (fwrite($handle, $somecontent) === FALSE) { echo "Cannot write to file ($filename)"; exit; } echo "Success, wrote ($somecontent) to file ($filename)"; fclose($handle); } else { echo "The file $filename is not writable"; } ?> What I would like to know is how to Create the file Test.txt in the first place? I cant seem to find any functions on php.net... Any help would be Much appreciated Quote Link to comment https://forums.phpfreaks.com/topic/149955-solved-how-to-create-a-txt-file-with-php/ Share on other sites More sharing options...
kenrbnsn Posted March 18, 2009 Share Posted March 18, 2009 That code should create the file if it's not there. Are you getting any errors? Ken Quote Link to comment https://forums.phpfreaks.com/topic/149955-solved-how-to-create-a-txt-file-with-php/#findComment-787548 Share on other sites More sharing options...
Adam Posted March 18, 2009 Share Posted March 18, 2009 Perhaps the script doesn't haven't permission to create files? Adam Quote Link to comment https://forums.phpfreaks.com/topic/149955-solved-how-to-create-a-txt-file-with-php/#findComment-787550 Share on other sites More sharing options...
Dan_Mason Posted March 18, 2009 Author Share Posted March 18, 2009 Hey. yeah i found the problem "In PHP, a file is created using a command that is also used to open files. It may seem a little confusing, but we'll try to clarify this conundrum. In PHP the fopen function is used to open files. However, it can also create a file if it does not find the file specified in the function call. So if you use fopen on a file that does not exist, it will create it, given that you open the file for writing or appending (more on this later). " I found this on this website: http://www.tizag.com/phpT/filecreate.php I then realised that all i had to do was use the fopen() function Before I used the if statement (which was asking if the file existed) This is the updated code if anyone else needs it for anything: <?php $filename = 'C:\Documents and Settings\optimal\Desktop\ReportData ' . date('d-m-y') . '.txt'; $somecontent = "I Have Successfully Written To This File\n"; // Create The .txt file First fopen($filename, 'w'); // Let's make sure the file exists and is writable first. if (is_writable($filename)) { // In our example we're opening $filename in append mode. // The file pointer is at the bottom of the file hence // that's where $somecontent will go when we fwrite() it. if (!$handle = fopen($filename, 'w')) { echo "Cannot open file ($filename)"; exit; } // Write $somecontent to our opened file. if (fwrite($handle, $somecontent) === FALSE) { echo "Cannot write to file ($filename)"; exit; } echo "Success, wrote ($somecontent) to file ($filename)"; fclose($handle); } else { echo "The file $filename is not writable"; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/149955-solved-how-to-create-a-txt-file-with-php/#findComment-787559 Share on other sites More sharing options...
kenrbnsn Posted March 18, 2009 Share Posted March 18, 2009 The way I test to see if a file exists, is to use the file_exists function: <?php $mode = (file_exists($filename))?'a':'w'; // open with append if the file exists, otherwise use write $fp = fopen($filemame,$mode); ?> Ken Quote Link to comment https://forums.phpfreaks.com/topic/149955-solved-how-to-create-a-txt-file-with-php/#findComment-787561 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.