Filemanager!
Erwt - 26/01/2005 17:05 (laatste wijziging 26/01/2005 17:55)
PHP beginner
Hej, ik heb een filemanager van wmcity af gehaalt, maar nu staat er bij anderen ook: F:
server
map
map5
bijv. Ik wil graag dat ze alleen de map zien waar ze in zitten! dus alle dingen in de CURRENT map! wie weet hoe ik zowiets verander?
<?php
// file icons
$icons['audio'] = array('mp3','wma','mov','avi','mpg','mpeg','wmv','asf');
$icons['html'] = array('htm','html');
$icons['psd'] = array('psd');
$icons['zip'] = array('rar','zip','ace');
$icons['word'] = array('doc','rtf');
$icons['excel'] = array('xsl');
$icons['ppt'] = array('ppt');
$icons['script'] = array('js');
$icons['pdf'] = array('pdf');
$icons['fla'] = array('fla','swf');
$icons['exe'] = array('exe');
$icons['txt'] = array('txt');
$icons['eps'] = array('eps','ai');
// max. search time
if(isset($_POST['t']) && is_numeric($_POST['t'])) {
set_time_limit($_POST['t']);
}
// downloadfunctie
function download($file){
$filename = basename($file);
header("Content-Type: application/force-download");
if(strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")){
header("Content-Disposition: filename=$filename");
}else{
header("Content-Disposition: attachment; filename=$filename");
}
$fp = fopen($file,'r');
fpassthru($fp);
exit;
}
// Stopwatch
function getParseTime() {
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
// functie voor aantal keer spaties
function getSpace($i,$string){
$string .= ' ';
return ($i == 0)? $string : getSpace(--$i,$string);
}
// Pathlink
function getPathLink($cu) {
$pathLink = '';
$link = '';
$cu = str_replace('./',str_replace(basename($_SERVER["SCRIPT_FILENAME"]),'',$_SERVER["SCRIPT_FILENAME"]),$cu);
$path = explode('/',$cu);
for($i=0; $i < count($path); $i++) {
$link .= $path[$i].'/';
$space = getSpace($i,'');
$pathLink .= $path[$i] == '' ? '' : $space . '<a href="'.$_SERVER['PHP_SELF'].'?cu='.$link.'">'.
'<img src="http://www.rolandboon.com/browser/folder.gif" width="16" height="16" alt="" /> '.
basename($link).'</a><br />';
}
return $pathLink;
}
function getUpLink($cu) {
$pathLink = '';
$link = '';
$cu = str_replace('./',str_replace(basename($_SERVER["SCRIPT_FILENAME"]),'',$_SERVER["SCRIPT_FILENAME"]),$cu);
$path = explode('/',$cu);
for($i=0; $i < count($path)-2; $i++) {
$link .= $path[$i].'/';
}
//print $link;
return $_SERVER['PHP_SELF'].'?cu='.$link;
}
// Folderarray
function getFolderArray($path, $name) {
$result['name'] = $name;
$result['fullPath'] = $path;
$result['changeDate'] = filemtime($path);
$result['size'] = count(glob($path.'/*'));
$result['type'] = 'File Folder';
$result['dimension'] = null;
return $result;
}
// Filearray
function getFileArray($path, $name) {
$result['name'] = $name;
$result['fullPath'] = $path;
$result['changeDate'] = filemtime($path);
$result['size'] = filesize($path);
$result['type'] = getFileType($name);
$result['dimension'] = getImgSize($path,$result['type']);
return $result;
}
// Filetype uit Filename halen
function getFileType($name) {
$tmp = explode('.',$name);
return strtolower($tmp[count($tmp) -1]);
}
// Afbeeldingafmetingen uit Filepath halen
function getImgSize($path,$type) {
if(@getimagesize($path)) {
list($width, $height, $type, $attr) = getimagesize($path);
return $width.' x '.$height;
}
else {
return null;
}
}
// Sorteerfunction voor 2D arrays
function sortFileList($sortArray,$sortField,$sortOrder) {
$sortKey = array();
foreach($sortArray as $row) {
$sortKey[] = $row[$sortField];
}
array_multisort($sortKey,$sortOrder,$sortArray);
return $sortArray;
}
// Bytes naar andere bytes
function calcSize($size) {
if($size > 1024 * 1024 * 1024){
$gb = ceil(($size * 10) / 1024 / 1024 / 1024) / 10;
return ceil($size / 1024 / 1024 / 1024).' Gb';
}
elseif($size > 1024 * 1024) {
$mb = ceil(($size * 10) / 1024 / 1024) / 10;
return $mb.' Mb';
}
elseif($size < 1024) {
return ceil($size).' Bytes';
}
else {
return ceil($size / 1024).' Kb';
}
}
// zoek door de map en eventueel onderliggende mappen
function doSearch($path,$query,$deep,$folders,$files) {
if(substr($path,-1) != '/') {
$path .= '/';
}
foreach(glob($path.'*'.$query.'*') as $file) {
if(is_dir($file)) {
$folders[] = getFolderArray($file,basename($file));
}
else {
$files[] = getFileArray($file, basename($file));
}
}
if($deep == true) {
foreach(glob($path.'*') as $file) {
if(is_dir($file)) {
list($folders,$files) = doSearch($file,$query,true,$folders,$files);
}
}
}
return array($folders,$files);
}
// genereer html voor het zoekgedeelte
function searchHead($folders,$files,$cu){
if(isset($_POST['q']) && isset($_POST['all'])){
return 'De zoekopdracht voor <b>'.$_POST['q'].'</b> leverde de volgende '
.count($folders).' mappen en '.count($files).' bestanden op';
}
else{
return '<form method="POST" action="'.$_SERVER['PHP_SELF'].'?cu='.$cu.'">'
.'search for: <input type="text" name="q" size="50" /> <input type="submit" value="go" /><br />'
.'max. time: <input type="text" name="t" size="2" value="20" /> sec. '
.'<input type="radio" id="simple" name="all" value="false" checked="checked" /><label for="simple">only this folder</label>'
.'<input type="radio" id="deep" name="all" value="true" /><label for="deep">including subdirectory\'s</label></form>';
}
}
// eerst even kijken of er iets gedownload moet worden
isset($_GET['dl']) && download($_GET['dl']);
// Even de variabelen zetten
$start = getParseTime();
$totalSize = 0;
$folders = array();
$files = array();
$cu = isset($_GET['cu']) ? $_GET['cu'] : './';
// alle mappen en files in een variabele stoppen als er geen search is gedaan
if(!(isset($_POST['q']) && isset($_POST['all']))){
foreach(glob($cu.'*') as $file) {
if(is_dir($file)) {
$folders[] = getFolderArray($file,basename($file));
}
else {
$files[] = getFileArray($file, basename($file));
}
}
}else{
list($folders, $files) = doSearch($cu,$_POST['q'],$_POST['all'],$folders,$files);
}
$orderLink['name'] = 'asc';
$orderLink['size'] = 'asc';
$orderLink['type'] = 'asc';
$orderLink['changeDate'] = 'asc';
$orderLink['dimension'] = 'asc';
if(isset($_GET['sort'])) {
$sortField = in_array($_GET['sort'],array('name','size','type','changeDate','dimension')) ? $_GET['sort'] : 'name';
$order = SORT_ASC;
if(isset($_GET['order'])) {
if($_GET['order'] == 'desc') {
$order = SORT_DESC;
}
else {
$orderLink[$sortField] = 'desc';
}
}
$folders = sortFileList($folders,$sortField,$order);
$files = sortFileList($files,$sortField,$order);
}
print'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>'.$cu.'; File Browser 1.10 by Pentjer & Boontje</title>
</head>
<!--
Filebrowser 1.10
(c) Pentjer & Boontje
Gratis en op eigen risico te gebruiken. Niet voor commercieel gebruik.
Verdere ontwikkeling van het script mag mits de makers Pentjer en Boontje worden vermeld.
Have fun!
-->
<body>
<table cellspacing="0">
<thead>
<tr>
<td id="title" colspan="5"><span class="logo"><img src="http://www.rolandboon.com/browser/logo.gif" width="20" height="19" alt=";)" /></span></td>
</tr>
<tr>
<td id="control" colspan="5">
<a href="javascript:history.go(-1)"><img src="http://www.rolandboon.com/browser/back.gif" width="23" height="23" alt="Back" /></a>
<a href="javascript:history.go(+1)"><img src="http://www.rolandboon.com/browser/forward.gif" width="23" height="23" alt="Forward" /></a>
<a href="'.getUpLink($cu).'"><img src="http://www.rolandboon.com/browser/up.gif" width="23" height=23"" alt="Up" /></a>
<a href="javascript:history.go()"><img src="http://www.rolandboon.com/browser/refresh.gif" width="23" height=23"" alt="Refresh" /></a>
</td>
</tr>
<tr>
<td class="pathLink" valign="top">
'.getPathLink($cu).'
</td>
<td class="search" colspan="4">
'.searchHead($folders,$files,$cu).'
</td>
</tr>
<tr>
<td id="nameHead"><a href="'.$_SERVER['PHP_SELF'].'?cu='.$cu.'&sort=name&order='.$orderLink['name'].'">Name</a></td>
<td id="sizeHead" align="right"><a href="'.$_SERVER['PHP_SELF'].'?cu='.$cu.'&sort=size&order='.$orderLink['size'].'">Size</td>
<td id="typeHead"><a href="'.$_SERVER['PHP_SELF'].'?cu='.$cu.'&sort=type&order='.$orderLink['type'].'">Type</td>
<td id="changeHead"><a href="'.$_SERVER['PHP_SELF'].'?cu='.$cu.'&sort=changeDate&order='.$orderLink['changeDate'].'">Date Modified</td>
<td id="dimHead" align="right"><a href="'.$_SERVER['PHP_SELF'].'?cu='.$cu.'&sort=dimension&order='.$orderLink['dimension'].'">Dimensions</td>
</tr>
</thead>';
// loop door de mappen
foreach($folders as $folder){
print'
<tr>
<td class="name"><img src="http://www.rolandboon.com/browser/folder.gif" width="16" height="16" alt="" /> <a href="'.$_SERVER['PHP_SELF'].'?cu='.$folder['fullPath'].'/">'.$folder['name'].'</a></td>';
if($folder['size'] == 1) {
print'
<td align="right"><nobr>'.$folder['size'].' item</nobr></td>';
}
else {
print'
<td align="right"><nobr>'.$folder['size'].' items</nobr></td>';
}
print'
<td><nobr>'.$folder['type'].'</nobr></td>
<td><nobr>'.date('j-n-Y G:i',$folder['changeDate']).'</nobr></td>
<td align="right"> </td>
</tr>';
}
// loop door de bestanden
foreach($files as $file) {
$icon = 'file';
foreach($icons as $iconName => $iconRange) {
if(in_array($file['type'],$iconRange)) {
$icon = $iconName;
}
}
print'
<tr>
<td class="name"><nobr>
<img src="http://www.rolandboon.com/browser/'.$icon.'.gif" width="16" height="16" alt="" /> <a href="'.$file['fullPath'].'">'.$file['name'].'</a>
<a href="'.$_SERVER['PHP_SELF'].'?cu='.$cu.'&dl='.$file['fullPath'].'" class="dl"><img src="http://home.uva.nl/mark.kroon/download.gif" width="10" height="10" alt="Download" /></a></nobr></td>
<td align="right"><nobr>'.calcSize($file['size']).'</nobr></td>
<td><nobr>'.$file['type'].'</nobr></td>
<td><nobr>'.date('j-n-Y G:i',$file['changeDate']).'</nobr></td>
<td align="right"><nobr>'.$file['dimension'].' </nobr></td>
</tr>';
$totalSize += $file['size'];
}
// stop de klok
$end = getParseTime();
$parseTime = round($end-$start,4);
$aantal = count($folders) + count($files);
echo '
<tr>
<td class="status"><nobr>'.$aantal.' Objects</nobr></td>
<td class="status" align="right"><nobr>'.calcSize($totalSize).'</nobr></td>
<td class="status" colspan="3" align="right"><nobr>'.$parseTime.' sec</nobr></td>
</tr>
</table>
</body>
</html>';
?>
<?php
// file icons
$icons [ 'audio' ] = array ( 'mp3' , 'wma' , 'mov' , 'avi' , 'mpg' , 'mpeg' , 'wmv' , 'asf' ) ; $icons [ 'html' ] = array ( 'htm' , 'html' ) ; $icons [ 'psd' ] = array ( 'psd' ) ; $icons [ 'zip' ] = array ( 'rar' , 'zip' , 'ace' ) ; $icons [ 'word' ] = array ( 'doc' , 'rtf' ) ; $icons [ 'excel' ] = array ( 'xsl' ) ; $icons [ 'ppt' ] = array ( 'ppt' ) ; $icons [ 'script' ] = array ( 'js' ) ; $icons [ 'pdf' ] = array ( 'pdf' ) ; $icons [ 'fla' ] = array ( 'fla' , 'swf' ) ; $icons [ 'exe' ] = array ( 'exe' ) ; $icons [ 'txt' ] = array ( 'txt' ) ; $icons [ 'eps' ] = array ( 'eps' , 'ai' ) ;
// max. search time
}
// downloadfunctie
function download( $file ) {
header ( "Content-Type: application/force-download" ) ; if ( strstr ( $_SERVER [ "HTTP_USER_AGENT" ] , "MSIE" ) ) { header ( "Content-Disposition: filename=$filename " ) ; } else {
header ( "Content-Disposition: attachment; filename=$filename " ) ; }
}
// Stopwatch
function getParseTime( ) {
return ( ( float) $usec + ( float) $sec ) ;
}
// functie voor aantal keer spaties
function getSpace( $i , $string ) {
$string .= ' ' ;
return ( $i == 0 ) ? $string : getSpace( -- $i , $string ) ;
}
// Pathlink
function getPathLink( $cu ) {
$pathLink = '' ;
$link = '' ;
for ( $i = 0 ; $i < count ( $path ) ; $i ++ ) { $link .= $path [ $i ] . '/' ;
$space = getSpace( $i , '' ) ;
$pathLink .= $path [ $i ] == '' ? '' : $space . '<a href="' . $_SERVER [ 'PHP_SELF' ] . '?cu=' . $link . '">' .
'<img src="http://www.rolandboon.com/browser/folder.gif" width="16" height="16" alt="" /> ' .
}
return $pathLink ;
}
function getUpLink( $cu ) {
$pathLink = '' ;
$link = '' ;
for ( $i = 0 ; $i < count ( $path ) - 2 ; $i ++ ) { $link .= $path [ $i ] . '/' ;
}
//print $link;
return $_SERVER [ 'PHP_SELF' ] . '?cu=' . $link ;
}
// Folderarray
function getFolderArray( $path , $name ) {
$result [ 'name' ] = $name ;
$result [ 'fullPath' ] = $path ;
$result [ 'type' ] = 'File Folder' ;
$result [ 'dimension' ] = null ;
return $result ;
}
// Filearray
function getFileArray( $path , $name ) {
$result [ 'name' ] = $name ;
$result [ 'fullPath' ] = $path ;
$result [ 'type' ] = getFileType( $name ) ;
$result [ 'dimension' ] = getImgSize( $path , $result [ 'type' ] ) ;
return $result ;
}
// Filetype uit Filename halen
function getFileType( $name ) {
}
// Afbeeldingafmetingen uit Filepath halen
function getImgSize( $path , $type ) {
return $width . ' x ' . $height ;
}
else {
return null ;
}
}
// Sorteerfunction voor 2D arrays
function sortFileList( $sortArray , $sortField , $sortOrder ) {
foreach ( $sortArray as $row ) {
$sortKey [ ] = $row [ $sortField ] ;
}
return $sortArray ;
}
// Bytes naar andere bytes
function calcSize( $size ) {
if ( $size > 1024 * 1024 * 1024 ) {
$gb = ceil ( ( $size * 10 ) / 1024 / 1024 / 1024 ) / 10 ; return ceil ( $size / 1024 / 1024 / 1024 ) . ' Gb' ; }
elseif ( $size > 1024 * 1024 ) {
$mb = ceil ( ( $size * 10 ) / 1024 / 1024 ) / 10 ; return $mb . ' Mb' ;
}
elseif ( $size < 1024 ) {
return ceil ( $size ) . ' Bytes' ; }
else {
return ceil ( $size / 1024 ) . ' Kb' ; }
}
// zoek door de map en eventueel onderliggende mappen
function doSearch( $path , $query , $deep , $folders , $files ) {
$path .= '/' ;
}
foreach ( glob ( $path . '*' . $query . '*' ) as $file ) { $folders [ ] = getFolderArray
( $file , basename ( $file ) ) ; }
else {
$files [ ] = getFileArray
( $file , basename ( $file ) ) ; }
}
if ( $deep == true ) {
foreach ( glob ( $path . '*' ) as $file ) { list ( $folders , $files ) = doSearch
( $file , $query , true , $folders , $files ) ; }
}
}
return array ( $folders , $files ) ; }
// genereer html voor het zoekgedeelte
function searchHead( $folders , $files , $cu ) {
return 'De zoekopdracht voor <b>' . $_POST [ 'q' ] . '</b> leverde de volgende '
. count ( $folders ) . ' mappen en ' . count ( $files ) . ' bestanden op' ; }
else {
return '<form method="POST" action="' . $_SERVER [ 'PHP_SELF' ] . '?cu=' . $cu . '">'
. 'search for: <input type="text" name="q" size="50" /> <input type="submit" value="go" /><br />'
. 'max. time: <input type="text" name="t" size="2" value="20" /> sec. '
. '<input type="radio" id="simple" name="all" value="false" checked="checked" /><label for="simple">only this folder</label>'
. '<input type="radio" id="deep" name="all" value="true" /><label for="deep">including subdirectory\' s</ label></ form> ';
}
}
// eerst even kijken of er iets gedownload moet worden
isset($_GET[' dl ']) && download($_GET[' dl ']);
// Even de variabelen zetten
$start = getParseTime();
$totalSize = 0;
$folders = array();
$files = array();
$cu = isset($_GET[' cu']) ? $_GET[' cu'] : ' ./ ';
// alle mappen en files in een variabele stoppen als er geen search is gedaan
if(!(isset($_POST[' q']) && isset($_POST[' all']))){
foreach(glob($cu.' * ') as $file) {
if(is_dir($file)) {
$folders[] = getFolderArray($file,basename($file));
}
else {
$files[] = getFileArray($file, basename($file));
}
}
}else{
list($folders, $files) = doSearch($cu,$_POST[' q'],$_POST[' all'],$folders,$files);
}
$orderLink[' name'] = ' asc';
$orderLink[' size'] = ' asc';
$orderLink[' type'] = ' asc';
$orderLink[' changeDate'] = ' asc';
$orderLink[' dimension'] = ' asc';
if(isset($_GET[' sort '])) { $sortField = in_array($_GET[' sort '],array(' name
',' size
',' type
',' changeDate
',' dimension
')) ? $_GET[' sort '] : ' name
';
$order = SORT_ASC;
if(isset($_GET[' order'])) {
if($_GET[' order'] == ' desc') {
$order = SORT_DESC;
}
else {
$orderLink[$sortField] = ' desc';
}
}
$folders = sortFileList($folders,$sortField,$order);
$files = sortFileList($files,$sortField,$order);
}
print' <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
< html xmlns= "http://www.w3.org/1999/xhtml" xml: lang= "en" >
< head>
< title
> '.$cu.' ; File Browser
1.10 by Pentjer
& amp
; Boontje
</ title
>
</ head>
<!--
Filebrowser 1.10
( c) Pentjer & Boontje
Gratis en op eigen risico te gebruiken. Niet voor commercieel gebruik.
Verdere ontwikkeling van het script mag mits de makers Pentjer en Boontje worden vermeld.
Have fun!
-->
< body>
< table cellspacing= "0" >
< thead>
< tr>
< td id= "title" colspan= "5" >< span class = "logo" >< img src= "http://www.rolandboon.com/browser/logo.gif" width= "20" height= "19" alt= ";)" /></ span></ td>
</ tr>
< tr>
< td id= "control" colspan= "5" >
< a href= "javascript:history.go(-1)" >< img src= "http://www.rolandboon.com/browser/back.gif" width= "23" height= "23" alt= "Back" /></ a>
< a href= "javascript:history.go(+1)" >< img src= "http://www.rolandboon.com/browser/forward.gif" width= "23" height= "23" alt= "Forward" /></ a>
< a href= "'.getUpLink($cu ).'" >< img src= "http://www.rolandboon.com/browser/up.gif" width= "23" height= 23 "" alt= "Up" /></ a>
< a href= "javascript:history.go()" >< img src= "http://www.rolandboon.com/browser/refresh.gif" width= "23" height= 23 "" alt= "Refresh" /></ a>
</ td>
</ tr>
< tr>
< td class = "pathLink" valign= "top" >
'.getPathLink($cu).'
</ td>
< td class = "search" colspan= "4" >
'.searchHead($folders,$files,$cu).'
</ td>
</ tr>
< tr>
< td id= "nameHead" >< a href= "'.$_SERVER ['PHP_SELF'].'?cu='.$cu .'&sort=name&order='.$orderLink ['name'].'" > Name</ a></ td>
< td id= "sizeHead" align= "right" >< a href= "'.$_SERVER ['PHP_SELF'].'?cu='.$cu .'&sort=size&order='.$orderLink ['size'].'" > Size</ td>
< td id= "typeHead" >< a href= "'.$_SERVER ['PHP_SELF'].'?cu='.$cu .'&sort=type&order='.$orderLink ['type'].'" > Type</ td>
< td id= "changeHead" >< a href= "'.$_SERVER ['PHP_SELF'].'?cu='.$cu .'&sort=changeDate&order='.$orderLink ['changeDate'].'" > Date Modified</ td>
< td id= "dimHead" align= "right" >< a href= "'.$_SERVER ['PHP_SELF'].'?cu='.$cu .'&sort=dimension&order='.$orderLink ['dimension'].'" > Dimensions</ td>
</ tr>
</ thead> ';
// loop door de mappen
foreach($folders as $folder){
print'
< tr>
< td class = "name" >< img src= "http://www.rolandboon.com/browser/folder.gif" width= "16" height= "16" alt= "" /> < a href= "'.$_SERVER ['PHP_SELF'].'?cu='.$folder ['fullPath'].'/" > '.$folder[' name'].' </ a></ td> ';
if($folder[' size'] == 1) {
print'
< td align= "right" >< nobr> '.$folder[' size'].' item</ nobr></ td> ';
}
else {
print'
< td align= "right" >< nobr> '.$folder[' size'].' items</ nobr></ td> ';
}
print'
< td>< nobr> '.$folder[' type'].' </ nobr></ td>
< td>< nobr> '.date(' j- n- Y G: i',$folder[' changeDate']).' </ nobr></ td>
< td align= "right" >& nbsp;</ td>
</ tr> ';
}
// loop door de bestanden
foreach($files as $file) {
foreach($icons as $iconName => $iconRange) {
if(in_array($file[' type'],$iconRange)) {
$icon = $iconName;
}
}
print'
< tr>
< td class = "name" >< nobr>
< img src= "http://www.rolandboon.com/browser/'.$icon .'.gif" width= "16" height= "16" alt= "" /> < a href= "'.$file ['fullPath'].'" > '.$file[' name'].' </ a>
< a href= "'.$_SERVER ['PHP_SELF'].'?cu='.$cu .'&dl='.$file ['fullPath'].'" class = "dl" >< img src= "http://home.uva.nl/mark.kroon/download.gif" width= "10" height= "10" alt= "Download" /></ a></ nobr></ td>
< td align= "right" >< nobr> '.calcSize($file[' size']).' </ nobr></ td>
< td>< nobr> '.$file[' type'].' </ nobr></ td>
< td>< nobr> '.date(' j- n- Y G: i',$file[' changeDate']).' </ nobr></ td>
< td align= "right" >< nobr> '.$file[' dimension'].' & nbsp;</ nobr></ td>
</ tr> ';
$totalSize += $file[' size'];
}
// stop de klok
$end = getParseTime();
$parseTime = round($end-$start,4);
$aantal = count($folders) + count($files);
echo '
< tr>
< td class = "status" >< nobr> '.$aantal.' Objects</ nobr></ td>
< td class = "status" align= "right" >< nobr> '.calcSize($totalSize).' </ nobr></ td>
< td class = "status" colspan= "3" align= "right" >< nobr> '.$parseTime.' sec</ nobr></ td>
</ tr>
</ table>
</ body>
</ html> ';
?>
twopeak edit : ik heb de style weggedaan, want het was te lang... ga strakkies ff naar kijken!
7 antwoorden
Gesponsorde links
twopeak - 26/01/2005 17:29 (laatste wijziging 26/01/2005 18:00)
PHP ver gevorderde
je gaat ginder rommel halen (en ik herhaal: rommel ) en dan mogen wij het fixen?
Wat heb je zelf al geprobeerd?
Wat denk jij dat je moet veranderen?
Waar denk jij dat je die variabelen moet veranderen?
Pfff, xtreeem lang & inneficiënt script...
Wat doet het nu?
En wat wil je hebben? (dat limiteerd mijn zoektijd)
Als je neit wilt dat hij in submappen zoekt, dan moet je in deze functie iets gaan verandern
<?
// zoek door de map en eventueel onderliggende mappen
function doSearch($path,$query,$deep,$folders,$files) {
if(substr($path,-1) != '/') {
$path .= '/';
}
foreach(glob($path.'*'.$query.'*') as $file) {
if(is_dir($file)) {
$folders[] = getFolderArray($file,basename($file));
}
else {
$files[] = getFileArray($file, basename($file));
}
}
if($deep == true) {
foreach(glob($path.'*') as $file) {
if(is_dir($file)) {
list($folders,$files) = doSearch($file,$query,true,$folders,$files);
}
}
}
return array($folders,$files);
}
?>
<?
// zoek door de map en eventueel onderliggende mappen
function doSearch( $path , $query , $deep , $folders , $files ) {
$path .= '/' ;
}
foreach ( glob ( $path . '*' . $query . '*' ) as $file ) { $folders [ ] = getFolderArray
( $file , basename ( $file ) ) ; }
else {
$files [ ] = getFileArray
( $file , basename ( $file ) ) ; }
}
if ( $deep == true ) {
foreach ( glob ( $path . '*' ) as $file ) { list ( $folders , $files ) = doSearch
( $file , $query , true , $folders , $files ) ; }
}
}
return array ( $folders , $files ) ; }
?>
Erwt - 26/01/2005 17:34 (laatste wijziging 26/01/2005 18:21)
PHP beginner
Wat moet ik veranderen dan?:'(
Joel - 26/01/2005 18:48
Eigenaar
Als je scripts haalt van wmcity, en het werkt niet helemaal dan moet je daar uitleg gaan vragen vind ik.
Kijk eens op www.php.net wat je daar kunt vinden bij de functies.
Erwt - 27/01/2005 09:21 (laatste wijziging 28/01/2005 09:03)
PHP beginner
Jup, ik vind dit te beste site...
Maar kijk, mensen zien de hele directory, waar de filemanager staat... dus de F:/ schijf en dan Server en dan Websites en dan Site1 en dan Filemanager! dat wil ik niet, ik wil dat hij bijv alleen in de map kijkt (en mag kijken) waar hij nu is... of waar ik (als het mogelijk zou zijn) kan aangeven in de broncode!
Niemand?:'(
Thomas - 28/01/2005 15:34 (laatste wijziging 28/01/2005 15:35)
Moderator
Hier wordt waarschijnlijk je "uitgangspad" bepaald -->
// Even de variabelen zetten
...
$cu = isset($_GET['cu']) ? $_GET['cu'] : './'; // <-- hierzo
// Even de variabelen zetten
...
$cu = isset ( $_GET [ 'cu' ] ) ?
$_GET [ 'cu' ] : './' ; // <-- hierzo
Die "./" wil zeggen: de root van je site. Deze zou je kunnen veranderen zodat je in een andere map begint , maar dit zal niet genoeg zijn omdat iemand gewoon een "directory omhoog" kan navigeren.
Je moet zeg maar 2 paden bij gaan houden: Een "intern pad" die het pad vanaf je DOCUMENT_ROOT bijhoudt, en een "extern (voor de gebruiker zichtbaar) pad". Stel dat het "interne pad" als volgt is:
"./files/"
Hier staan alle bestanden in die je wilt delen met andere gebruikers, en dit zou de enige folder moeten zijn waar iemand in kan kijken, dan is dit de 'root' van je "externe pad", oftewel "./files/" ziet een gebruiker als "/" - hier kan dus niet nog een folder omhoog gegaan worden omdat de gebruiker al in zijn 'root' zit.
Ik heb dit script vlug bekeken, maar het ziet er uit dat je zelf zo'n intern/extern pad systeem zult moeten bijmaken omdat het script hier geen ondersteuning aan biedt.
Ik ben het ook met twopeak eens dat wanneer je een script van elders haalt, je het hier niet ter debugging / voor extra wensen moet aanbieden... Stap er mee naar de makers, zou ik zeggen of pas het aan zoals ik voorstelde.
Erwt - 30/01/2005 12:00
PHP beginner
Ok, hartstikke bedankt, ik zal contact met hun opnemen!
Gesponsorde links
Dit onderwerp is gesloten .