note 119274 deleted from features.commandline.webserver by peehaa
| From: | peehaa@php.net | Date: | Wed, 19 Oct 2016 09:33:20 +0000 |
| Subject: | note 119274 deleted from features.commandline.webserver by peehaa | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-206922@lists.php.net to get a copy of this message | ||
Note Submitter: synnus at gmail dot com
----
<?php
/*
* Web serv mod v2 with ./WWW/
*
*/
$request_uri = '.'.urldecode($_SERVER['REQUEST_URI']);
//var_dump($request_uri);
if($request_uri == './' ) { $request_uri = './www'; }
if(is_dir($request_uri) ){
// server use the relative directory
$dirname = preg_replace('/\/{2}/', '/', $request_uri.'/');
// browser use the absolute path_name which bases on the server root directory
$browser_path = preg_replace('/^\./', '', $dirname);
$ex = explode('/',$browser_path);
$g = '../';
foreach($ex as $k => $l) {
echo '<a href="../' . $g. '">' . str_ireplace('//' ,
'/' ,($l == '' ? '' : $g . '/' )) .
'</a>';
$g = $l ;
}
echo '<br />', PHP_EOL;
$files_arr = '';
$d = dir($dirname);
//echo $d->path , '<br />', PHP_EOL;
while (false !== ($entry = $d->read())) {
if($entry != '.') {
if(is_dir($d->path . $entry) ){
$files_arr .= '<a href="' . $browser_path . $entry . '"> <img
src="http://127.0.0.1:8000/res/folder.png"
/> ' . $entry . '</a><br />' . PHP_EOL;
}
else {
$files_arr .= '<a href="' . $browser_path . $entry . '">
<img src="http://127.0.0.1:8000/res/file.png" />
' . $entry . '</a><br />' . PHP_EOL;
}
}
}
$d->close();
echo '<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,
user-scalable=no, initial-scale=1.0">
</head>
<body>
', $files_arr,'
</body>
</html>';
}else{
//$exp_url = explode('/',$request_uri);
@header('Content-Type: ' . @mime_content_type($request_uri));
//echo file_get_contents('www/' . $request_uri);
$handle = @fopen($request_uri, "rb");
if (FALSE === $handle) {
exit("Echec lors de l'ouverture du flux vers l'URL");
}
while (!feof($handle)) {
echo fread($handle, 8192);
}
fclose($handle);
}
?>