maxmmize Posted August 18, 2008 Share Posted August 18, 2008 I have an error in my script. I use fopen in a Joomla installation (It's a component)to open a directory containing the header and footer of an external Moodle installation. I basically bridged Moodle and Joomla. This script works correctly in Joomla 1.5 but in 1.0x I get the failed fopen. The error is on 2885 and 2914. The path is manually set inside the configuration of my program and this script should pull that path and perform the operation. This is not happening in 1.0 The lines in question are bolded. I have attached the file to make it easier. Thanks for any help. The errors are: $file_handle = fopen($path , 'r'); and $footer_handle = fopen($footer_path , 'r'); $check_moodle="select value from " . $db_name . ".mdl_config where name='theme'"; //echo "<br> check_moodle " . $check_moodle; //$result_moodle = mysql_query($check_moodle); //$count_result = mysql_num_rows($result_moodle); $database->setQuery($check_moodle); $moodle_data = $database->loadRow(); $count_result = count($moodle_data); //print_r($moodle_data); $server_path= $_SERVER['DOCUMENT_ROOT']; $theme_value = $moodle_data[0]; $path=$server_path . "/moodle/theme/". trim($theme_value) ."/header.html"; //$path="D:/EasyPHP 2.0b1/www/moodle/theme/standardwhite/header.html"; $file_handle = fopen($path , 'r'); if ($file_handle) { while(! feof($file_handle)) { $contents = fgets($file_handle, 4096); $find = '<div id="page">'; $replace = '<div id="page"><?php if (!@$_SESSION["enter"]) { ?>'; $contents = str_replace($find, $replace, $contents ); $find2 = '<!-- END OF HEADER -->'; $replace2 = '<?php } ?><!-- END OF HEADER -->'; $contents = str_replace($find2, $replace2, $contents ); @$contents1 .= $contents; //echo $contents . "<br />"; } fclose($file_handle); //echo $contents1 . "<br />"; $file_handle1 = fopen($path , 'w'); fwrite($file_handle1,$contents1); fclose($file_handle1); } // disabling footer starts here $footer_path=$server_path . "/moodle/theme/". trim($theme_value) ."/footer.html"; $footer_handle = fopen($footer_path , 'r'); if ($footer_handle) { while(! feof($footer_handle)) { $footer_contents = fgets($footer_handle, 4096); $find = 'echo $loggedinas;'; $replace = 'if (!@$_SESSION["enter"]) { echo $loggedinas;'; $footer_contents = str_replace($find, $replace, $footer_contents ); $find2 = 'echo $homelink;'; $replace2 = 'echo $homelink; }'; $footer_contents = str_replace($find2, $replace2, $footer_contents ); @$footer_contents1 .= $footer_contents; } fclose($footer_handle); $footer_handle1 = fopen($footer_path , 'w'); fwrite($footer_handle1,$footer_contents1); fclose($footer_handle1); } print "<p><font color=green>Moodle Header / Footer are now disabled!</font></p>"; [attachment deleted by admin] Quote Link to comment https://forums.phpfreaks.com/topic/120148-fopen-error-failed-to-open-stream/ 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.