You are here: Re: Loading a PHP file/code via Javascript. « PHP Programming Language « IT news, forums, messages
Re: Loading a PHP file/code via Javascript.

Posted by NC on 10/07/06 11:41

Simon wrote:
>
> As we all know, JavaScript is client side and php is server side, (the php
> code is 'allowed' to do stuff on the server that JavaScript cannot).
> The problem with php is that it timeout after a while, (and the user also
> has no clue as to what is going on for a long time).
> I need to run a script on the server that could take a very long time.

Does the user need to see anything based on the results of this long
process?

> How could I achieve something like that?

There are two options I can think of; neither involves JavaScript. I
am sure there are many other options, too.

1. Use command-line scripting

If there is no need for the user to see the output, you can start your
processing script in the background using the command-line interpreter.
On Unix, this will look something like this:

exec('php my_very_long_script.php &');

2. Use "piecemeal" processing

Say, you need to process an unknown number of records in a database.
You estimated that processing 100 records at a time is done quickly
enough not to trigger the execution time limit. So you can repeatedly
run the same script to process a new group of records each time;
something like this:

if (isset($_GET['last_processed'])) {
$last = (int) $_GET['last_processed'];
$query = "SELECT * FROM mytable WHERE id>$last ORDER BY id LIMIT
100";
} else {
$query = "SELECT * FROM mytable ORDER BY id LIMIT 100";
}
$result = mysql_query($query);
while ($record = mysql_fetch_array($result)) {
// Process your records
$last_processed = $record['id'];
}
if (mysql_num_rows($result) == 100) {
header('Location: ' . $_SERVER['PHP_SELF'] .
"?last_processed=$last_processed");
echo "$last_processed records processed so far... Please wait...";
die();
}
echo "Finished processing; $last_processed records were processed.";

Cheers,
NC

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация