<?php
//Het script Hieronder zorgt ervoor dat de parsetime van de pagina berekent word.
function get_microtime ()
{
}
function _ob_parsetime_replacer ($data)
{
$time = number_format (get_microtime
() - $GLOBALS['parse_time'], 5);
$_placeholder = '{|**PARSE_TIME_PLACE**|}';
$pos = strrpos ($data, $_placeholder);
}
$GLOBALS['parse_time'] = get_microtime ();
/*
FTP CONNECT v0.1 Béta
Dit script zorgt ervoor dat er een ftp verbinding gemaakt kan worden met een externe server. Hierdoor kan er een zogenaamde "n0pe" installatie gedaan worden waardoor de gebruiker niks hoeft te installeren om het systeem naar het web te kunnen uploaden. Nadeel is wel dat de gebruiker het script niet lokaal kan draaien wanneer er geen ftp server is die geen connectie heeft van buitenaf.
*/
//Gegevens instellen
$ftp_c ['server'] = 'ftp.iets.com';//FTP server ip/domein
$ftp_c ['user'] = 'gebruikersnaam';//Gebruikers naam van ftp server
$ftp_c ['password'] = 'blaat';//Wachtwoord behorende bij ftp server
//De volgende functie controleerd of de door de ftp opgegeven object een map of bestand is.
function ftp_condir($file, $ftp_connection){
if(ftp_size($ftp_connection, $file) == '-1'){ return true; // Is directory
}else{
return false; // Is file
}
}
//Verbinding maken met de server
$ftp_con = ftp_connect($ftp_c['server']);//Verbinding maken met de server ftp_login($ftp_con, $ftp_c['user'], $ftp_c['password']);//Inloggen
/*
Hieronder gaan we vaststellen welke map er geopent moet worden. Verlopig is dit systeem niet helemaal zonder bugs (helaas) waardoor niet alles goed werkt
*/
if(isset($_GET['map'])){//Kijken of er een map gepost is
if($_GET['map'] == ''){//map is leeg
$showrootmap=true;
} else {//map is niet leeg
//map aan een var toewijzen
$map=$_GET['map'];
if($map == '..'){//Er is .. opgegeven, dit betekent een map hoger dan gewenst.
if(isset($_GET['curmap'])){//Er is een map opgegeven waar de bezoeker eerst zat
$curmap=$_GET['curmap'];
ftp_chdir( $ftp_con, $curmap );//Map veranderen naar de map waar we al waren
if(ftp_cdup( $ftp_con ) == true){//Nu gaan we controleren of die map wel bestaat
$map=ftp_pwd( $ftp_con );//De huidige map opvragen $files = ftp_nlist($ftp_con, $map); //leest de directory uit
//Hieronder gaan we controleren wat een bestand is en wat een map is.
for($pa = 0; $pa < count($files);$pa++){ //zogren dat elke array gecontroleerd word if(ftp_condir($files[$pa],$ftp_con) == true){//word de waarde true terug gegeven dan is het een map
$arraymaps++;
$maps[$arraymaps]=$files[$pa];
} else {
$maps[1]=$files[$pa];
}
//echo $files[$pa]."<br/>\n";
}//zoniet dan doen we niks
}//einde for lus.
//print_r($files); //print de array met files uit.
if(isset($_GET['curmap'])){//Zorgen dat het in de map in de curmap komt //Nu gaan we de mappen uitvoeren
for($pa = 0; $pa < count($maps)+1;$pa++){ //zogren dat elke array gecontroleerd word
//Nu gaan we controleren of het gaat om een map hoger te komen of niet
if($maps[$pa] == '..'){
echo "<a href=\"".$_SERVER['PHP_SELF']."?map=..&curmap=".$map."\">Bovenliggende map</a><br/>"; } else {//Dat is het dus niet
echo "<a href=\"".$_SERVER['PHP_SELF']."?map=/".$_GET['curmap']."/../".$maps[$pa]."&curmap=".$map."\">".$maps[$pa]."</a><br/>";
}
}//einde for lus.
} else {
//Nu gaan we de mappen uitvoeren
for($pa = 0; $pa < count($maps)+1;$pa++){ //zogren dat elke array gecontroleerd word
//Nu gaan we controleren of het gaat om een map hoger te komen of niet
if($maps[$pa] == '..'){
echo "<a href=\"".$_SERVER['PHP_SELF']."?map=..&curmap=".$map."\">Bovenliggende map</a><br/>"; } else {//Dat is het dus niet
echo "<a href=\"".$_SERVER['PHP_SELF']."?map=/".$_GET['curmap']."/../".$maps[$pa]."&curmap=".$map."\">".$maps[$pa]."</a><br/>";
}
}//einde for lus.
}
} else {//De opgegeven waarde in curmap bestaat niet
//Dus rootmap weergeven
$showrootmap=true;
}//einde geen opgegeven waarde
} else {//Er is geen curmap opgegeven dus mag de rootmap weergeven worden
$showrootmap=true;//Rootmap weergeven
}//einde geen curmap
/*
Hier komt het script die er voor moet zorgen dat er een map hoger moet gaan
*/
} else {
if( ftp_chdir( $ftp_con, $map ) ){ //De ftp verbinding kan naar deze map gezet worden dus de map bestaat $map=ftp_pwd( $ftp_con );//De huidige map opvragen $files = ftp_nlist($ftp_con, $map); //leest de directory uit
//Hieronder gaan we controleren wat een bestand is en wat een map is.
for($pa = 0; $pa < count($files);$pa++){ //zogren dat elke array gecontroleerd word if(ftp_condir($files[$pa],$ftp_con) == true){//word de waarde true terug gegeven dan is het een map
$arraymaps++;
$maps[$arraymaps]=$files[$pa];
} else {
$maps[1]=$files[$pa];
}
//echo $files[$pa]."<br/>\n";
}//zoniet dan doen we niks
}//einde for lus.
//print_r($files); //print de array met files uit.
if(isset($_GET['curmap'])){//Zorgen dat het in de map in de curmap komt //Nu gaan we de mappen uitvoeren
for($pa = 0; $pa < count($maps)+1;$pa++){ //zogren dat elke array gecontroleerd word
//Nu gaan we controleren of het gaat om een map hoger te komen of niet
if($maps[$pa] == '..'){
echo "<a href=\"".$_SERVER['PHP_SELF']."?map=..&curmap=".$map."\">Bovenliggende map</a><br/>"; } else {//Dat is het dus niet
echo "<a href=\"".$_SERVER['PHP_SELF']."?map=/".$_GET['map']."/".$maps[$pa]."&curmap=".$map."\">".$maps[$pa]."</a><br/>";
}
}//einde for lus.
} else {
//Nu gaan we de mappen uitvoeren
for($pa = 0; $pa < count($maps)+1;$pa++){ //zogren dat elke array gecontroleerd word
//Nu gaan we controleren of het gaat om een map hoger te komen of niet
if($maps[$pa] == '..'){
echo "<a href=\"".$_SERVER['PHP_SELF']."?map=..&curmap=".$map."\">Bovenliggende map</a><br/>"; } else {//Dat is het dus niet
echo "<a href=\"".$_SERVER['PHP_SELF']."?map=/".$_GET['map']."/".$maps[$pa]."&curmap=".$map."\">".$maps[$pa]."</a><br/>";
}
}//einde for lus.
}
} else {//De opgegeven map bestaat niet
$showrootmap=true;//De rootmap moet weergegeven worden
}//einde de opgegeven map bestaat niet
}//einde ..
}//Einde map is niet leeg
} else {//Er is geen $_GET['map'] dus de rootmap moet weergegeven worden.
$showrootmap=true;
}//einde rootmap weergeven.
/*
Het volgende script is er om de rootmap weer te geven. Dit is de map waar de gebruiker direct toegang tot heeft na het inloggen, een hoger levele is niet mogelijk.
*/
if(isset($showrootmap)){//rootmap weergeven
$map=ftp_pwd( $ftp_con );//De huidige map opvragen $files = ftp_nlist($ftp_con, $map); //leest de directory uit //Hieronder gaan we controleren wat een bestand is en wat een map is.
for($pa = 0; $pa < count($files);$pa++){ //zogren dat elke array gecontroleerd word if(ftp_condir($files[$pa],$ftp_con) == true){//word de waarde true terug gegeven dan is het een map
$arraymaps++;
$maps[$arraymaps]=$files[$pa];
} else {
$maps[1]=$files[$pa];
}
//echo $files[$pa]."<br/>\n";
}//zoniet dan doen we niks
}//einde for lus.
//print_r($files); //print de array met files uit.
//Nu gaan we de mappen uitvoeren
for($pa = 0; $pa < count($maps)+1;$pa++){ //zogren dat elke array gecontroleerd word echo "<a href=\"".$_SERVER['PHP_SELF']."?map=".$maps[$pa]."\">".$maps[$pa]."</a><br/>"; }//einde for lus.
}//Einde rootmap weergeven
?>
<br/>
<br/>
<STRONG>Het systeem kon de ftp verbinding realiseren in deze tijd:</STRONG> {|**PARSE_TIME_PLACE**|}