Revision: 57435
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at May 26, 2012 02:13 by crypticsoft
Initial Code
<?php error_reporting(E_ALL); /* ## Convert from PHP to ASP extensions with SSI includes ## getFiles() - Get all php files from root / includes directory stripIncludes() - Regex php syntax and includes for SSI saveFile(filename) - Save string to (.asp) file extension while preserving the filename ## Concept - 1) function getFiles( directory ) - all php files from directory and loop through each 2) function parseDir( directory ) - copy file to .asp extension and remove the .php version - replace php includes with SSI then save file ## Examples: //parse includes folder '/inc' or use $_SERVER['DOCUMENT_ROOT'] parseDir( dirname( __FILE__ ) . '/inc/' ); //parse root parseDir( dirname( __FILE__ ) ); */ //copy all of your php source into another directory, replace 'asp_directory' and set to your export path parseDir( $_SERVER['DOCUMENT_ROOT'] . '/asp_directory/' ); parseDir( $_SERVER['DOCUMENT_ROOT'] . '/asp_directory/inc/' ); function getFiles($dir){ //start with root files if ($handle = opendir($dir)) { $files = ''; //loop through all of the files while (false !== ($file = readdir($handle))) { if($file!='.'&&$file!='..'&&stripos($file,'.php')){ //all php files $files[]=$file; } } closedir($handle); } return $files; } function parseDir($dir){ foreach( getFiles( $dir ) as $file ){ if( $file != 'convert.php' && $file != '' ){ //parse all files except this one $fname = str_replace('.php','.asp',$file);//strip off extension to add in fwrite $fpath = $dir . $fname;//new filename and path $orig = $dir . $file; //copy from php to asp extension if( copy($orig, $fpath) ) { unlink($orig);//remove the php version }else{ print "Error: unable to copy file " . $orig . " - to - " . $fpath . " <br>check file permissions"; } //remove the old php version //read the file contents into a string for replacements $file_str = file_get_contents( $fpath ); //replace the php include statements with SSI virtual includes $file_str = str_replace( "<? include('", '<!--#include virtual="', $file_str ); // 'virtual' = relative path $file_str = str_replace( ".php'); ?>", '.asp"-->', $file_str ); //closing SSI tags $file_str = str_replace( ".php", ".asp", $file_str ); //replace all .php link references to .asp //if the file is writeable then proceed if( is_writeable( $fpath ) ){ //write the new string to the .asp file - just as it should be (plain text) $fp = fopen( $fpath, 'w' ); fwrite( $fp, $file_str ); //write the new file fclose($fp);//close }else{ print 'Error: Cannot write to directory, check permissions on' . $fpath; exit; }//end if }//end if file print "parsed: " . $fpath . "<br />"; }//end foreach }//end parseDir ?>
Initial URL
Initial Description
For those cases where you want to code in PHP but need to deploy to ASP. It doesn't account for php logic but only converts the php include() statements into SSI includes. Could be useful for converting basic websites from php to asp, rare but it happens :)
Initial Title
Parse PHP files into ASP extensions
Initial Tags
php, convert
Initial Language
PHP