Jump to content

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

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.