Jump to content

[SOLVED] How to create a .txt file with PHP?


Dan_Mason

Recommended Posts

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 :)

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";
}
?>

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

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.