fopen php5 htaccess question

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
Im doing this in php5, apache
Im not sure where the problem lies but I have a file
Class CreateXML{
public function xmlDeclaration(){
 return $varxmlDec = "<?xml version='1.0'> ";
public function rssDeclaration(){
 return $varrssDec = "<rss version='2.0'>";



include "XmlClass.php";

$test = new CreateXML();
$varxmlDec = $test->xmlDeclaration();
$varrssDec = $test->rssDeclaration();

$data = $test->varxmlDec.$test->varrssDec;
$file = "newfile.xml";
if (!$file_handle = fopen($file,"a")) { echo "Cannot open file"; }
if (!fwrite($file_handle, $data)) { echo "Cannot write to file"; }
echo "You have successfully written data to $file";

It may have something to do with a .htaccess file.(But I dont think so)

If I use: AddHandler application/x-httpd-php4 .php .php4 .php3 .phtml
.htm .html
I get a dalog box that asks me if I want to open/download
writetestxml.php (which is the file I'm accessing)
I tried using ......-httpd-php5  but the same thing happens.


Re: fopen php5 htaccess question

Actually, now i just get:
Warning: fopen(newfile.xml) [function.fopen]: failed to open stream:  
Permission denied in /home/ampsof00/public_html/XML/writexmltest.php on line  
Cannot open file
Warning: fwrite(): supplied argument is not a valid stream resource in  
/home/ampsof00/public_html/XML/writexmltest.php on line 13
Cannot write to fileYou have successfully written data to newfile.xml
Warning: fclose(): supplied argument is not a valid stream resource in  
/home/ampsof00/public_html/XML/writexmltest.php on line 15

My permissions are 755.

Quoted text here. Click to load it

Re: fopen php5 htaccess question

Mike wrote:

Quoted text here. Click to load it

Isolate your problem! Take all the XML junk out! That's not your  
problem. Your problem is with fopen. You are trying to open newfile.xml  
for append access and you can't.  While you check your error and issue  
an error message you blindly go onward as if it's OK. It's not OK. The  
file open failed!

Your permissions of 755 I suspect is on writexmltest.php not on  
newfile.xml! That's not the issue. Apache opened writexmltest.php and  
was executing it already. The fopen failed.

Realize that Apache runs as a pretty plain, unprivileged user (something  
like "apache" or "www"). Thus if newfile.xml exists, the user "apache"  
(or "www" or whatever your Apache server runs as) needs to have write  
access to that file (i.e other write needs to be turned on - e.g. 777).  
Also, if newfile.xml does not exist then the parent directory needs to  
allow "apache" (or "www") to be able to create files in that directory  
(i.e. 777 on the parent directory). You should probably pick another,  
more innocuous path in your file system for this (for example, get this  
working with $file = "/tmp/newfile.xml" first).

Site Timeline