If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > Data Access, Manipulation & Batch Languages > Delphi, C etc > Trying to recode my php script into c to run on linux...

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 01-30-06, 10:04
DaJackal DaJackal is offline
Registered User
 
Join Date: Jan 2006
Posts: 1
Trying to recode my php script into c to run on linux...

Trying to recode my php script into c to run on linux...



Hi guys,

My first post here, I already love this place , it's huge and hopefully I can get some help to do this project of mine.

Here's what I need to do.



I need to take my php script that I coded, and translate it into c from php.

What tools will I need to do this? I wrote and tested the script with just notepad, so I'm sure I'm going to need tools to build and test this script in c.

My platform I am coding in is windows xp professional 2. The platform(s) I would like it to run on are linux (1st importance) and windows xp would be nice if it was easy, most important is linux however (centos 4 with cpanel/whm but you probably didn't need that much info).

Here is the basic functions my script has...

Quote:

Here is the script, i modified it a little bit here and there, changed some words and names.

I believe I fixed the error about it timing out, or at least I pray I did. It's been running for two hours and still seems to be loading which is good, I just had to have it display something every 10 seconds or the browser would eventually time out.

Any ideas on how to easily convert this to C or Perl (perferably c)?

I can give a few snippets (edited variable names of course)
Quote:

class MYFUNCTION

{

var $PROXY_LIST=false;

var $CURRENT_PROXY=false;

var $useProxies=false;

var $proxyPath = 'proxies.txt';



var $max_out = 100000;

var $time_delay = 1;

var $extra_bar=0;//0= no limit



var $named_list=null;

var $stopat=null;



var $fileName ="whatisthefilename.txt";

var $fileMode ="w";



var $numRequests=0;



function GoForIt()

{

set_time_limit(0);//this may take awhile.

$totalsize=9;

$i=0;

$d=0;

while($i < $totalsize && $d <= $this->depth)

{

if($this->useProxies)

$this->GetNextProxy();

$this->ANOTHERFUNCTIONHERE($this->named_list[$i]);

$totalsize = count($this->named_list);

if($max_out >= $this->extra_bar)

break;

if($this->depth>0)

$d++;

$i++;



sleep($this->time_delay);

}

$this->SaveToFile();

}



/************************************************** ******************

* Get the next anonymous proxy from the proxies.txt file

* When the last proxy is reached it goes back to the first

* proxies should be just the proxy ip and port and a new line

************************************************** *******************/

function GetNextProxy()

{

// if the current_proxy is false, then load the proxy file

if(!$this->CURRENT_PROXY)

{

$handle = fopen($this->proxyPath, "rb");

if($handle == false)

{

echo "Please upload a proxy list. or untick the proxy list, moron!";

exit;

}

elseif ($handle == true)

{

$this->PROXY_LIST = fread($handle, filesize('proxies/proxies.txt'));

fclose($handle);

$this->PROXY_LIST = explode("\n", $this->PROXY_LIST);

$this->CURRENT_PROXY = current($this->PROXY_LIST);

}

}

else

{

//get the next proxy from the array

$this->CURRENT_PROXY = next($this->PROXY_LIST);

//if used all proxies then get the first proxy

if(!$this->CURRENT_PROXY)

$this->CURRENT_PROXY = reset($this->PROXY_LIST);

}

}

function BLAHBLAHBLAH($result)

{

if(is_array($result))

foreach($result as $value)

{

$value = strip_tags($value);

$value = trim($value);

if (!in_array($value,$this->named_list))

{

if($this->stopat!=null && $this->stopat($value))

$this->named_list[] = $value;

else

$this->named_list[] = $value;

}

}

}

7
and you execute the script by doing this:

Quote:

set_time_limit(0);

ignore_user_abort(1);

require_once("./other.file.class.php");



/******************************/

/* CONFIG-BEGIN */

/******************************/

$list = file("list.txt");

$_GET["useVarONE"] = 1;



$sz = sizeof($list);

// START LOOP

for($l=0;$l<=$sz;$l++)

{

echo $list[$l];

$NameOfClass = new Class();

$CFG->Path = dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']);

$CFG->savefile = $CFG->Path."/dir/test_file_output.txt";

$NameOfClass->fileName = $CFG->savefile;

if(isset($_GET['useExample1']))

$NameOfClass->useExample1 =true;

if(isset($_GET['useProxies']))

{

$NameOfClass->useProxies =true;

$NameOfClass->proxyPath = $CFG->Path."/proxies/proxies.txt";

}

if(isset($_GET['badwords']))

if($_GET['badwords'] != "")

$NameOfClass->Badwords = explode("\n",$_GET['badwords']);



//$_GET["words"] = file_get_contents("list.txt");

$_GET["words"] = $list[$l];

if(!isset($_GET['words'])){ echo "Word file is not valid"; }

else{

//$NameOfClass->example_list = explode("\n", $_GET['words']);

$NameOfClass->example_list = $list[$l];

$NameOfClass->example_list = explode("\n", $_GET['words']);

$NameOfClass->example_list[0] = trim($NameOfClass->example_list[0]);

$NameOfClass->fileName = "kws/".$NameOfClass->example_list[0].".txt";

// $NameOfClass->fileName = str_replace(" ","",$NameOfClass->fileName);

$NameOfClass->GetClassExample();



}



}
Ok that's just the basics of it,the entire php script is like 4 times longer so I really cut this out just so it's like one example of each, so if I could find out how to do it for one of each example I gave, I'm sure I can code the entire rest of the script myself.

The REASON for recoding this into C instead of leaving it in PHP , is that this script is supposed to be running 24/7, non stop, and in php, even with the set_time_limit to unlimted time to run, APACHE crashes after running it for like an hour or two, because it's CONSTANTLY processing based on a VERY HUGE list.txt, and also from what it DOES with that list.txt. You could call it a content processor. If this was recoded into C, I believe it would be more stable and wouldn't crash as much, and also I could run it in the background so it wouldn't be in the way.

Who can assist me in what I am doing? I am quite knowledgeable coding in php and I know just a BIT of c++ from several years ago, I haven't touched it in a while, but hopefully I can redo this php script into c easily.

Thanks in advance!!!

BTW, I store all this in a FLAT file database, just simple txt files. Is that a good method? I think it is for the methods I'm using...
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On