05. oktober 2004 - 10:56Der er
21 kommentarer og 1 løsning
etomite ; finder forkert server-root
Jeg bruger Etomite 0.6 (seneste udgave)- installeret på en Windows server hos min udbyder. Alt virker fint pånær 1 ting:
Under "Manage Files" siger den:
Warning: dir(C:\\W3Sites\\espersen\\www\\etomite\\manager\\index.php): failed to open dir: Invalid argument in C:\W3Sites\espersen\www\etomite\manager\actions\static\files.static.action.php on line 220
Fatal error: Call to a member function on a non-object in C:\W3Sites\espersen\www\etomite\manager\actions\static\files.static.action.php on line 223
**
her er så koden som den henviser til: line 220 $dir = dir($curpath);
line 223 // first, get info line 224 while ($file = $dir->read()) { line 225 if(!in_array($file, $excludes)) { line 226 $newpath = $curpath."/".$file; line 227 if(is_dir($newpath)) { line 228 $dirs_array[$dircounter]['dir'] = $newpath; line 229 $dirs_array[$dircounter]['stats'] = lstat($newpath); line 230 $dirs_array[$dircounter]['text'] = "<img src='media/images/tree/folder.gif' border=0 align='absmiddle'> line 231 <a href='index.php?a=31&mode=drill&path=$newpath'><b style=' font-size: 11px;'>$file</b></a>";
så vidt jeg kan se (eller rettere gætter på) er at den finder min webhosts serverroot, hvortil der ikke er adgang. Så jeg skal have rettet den kode i PHP'en der finder serverens root istedet for min root på webstedet.
jeg paster lige hele koden fra "files.static.action.php" - da jeg mistænker curpath for at hænge mere sammen med noget kode fra den øvre del. (Curpath findes ca. midtpå) (jeg har også mistanke til noget af starten hvor den skriver om "// get the current work directory")
jeg er ikke ligefrem en PHP-ørn
<?php if(IN_ETOMITE_SYSTEM!="true") die("<b>INCLUDE_ORDERING_ERROR</b><br /><br />Please use the Etomite Manager instead of accessing this file directly.");
<script type="text/javascript"> function viewfile(url) { document.getElementById('imageviewer').style.border="1px solid #000080"; document.getElementById('imageviewer').src=url; }
function confirmDelete(url) { if(confirm("<?php echo $_lang['confirm_delete_file'] ?>")) { document.location.href=url; } } </script> <?php if(isset($_FILES['userfile']['tmp_name'])) { // this seems to be an upload action. printf($_lang['files_uploading'], $_FILES['userfile']['name'], substr($startpath, $len, strlen($startpath))); echo $_FILES['userfile']['error']==0 ? $_lang['files_file_type'].$_FILES['userfile']['type'].", ".fsize($_FILES['userfile']['tmp_name'])."<br />" : "" ;
$userfile = $_FILES['userfile']['tmp_name'];
if (is_uploaded_file($userfile)) { // file is uploaded file, process it! if(!in_array(getExtension($_FILES['userfile']['name']), $uploadablefiles)) { echo "<br /><span class='warning'>".$_lang['files_filetype_notok']."</span><br />"; } else { if(@move_uploaded_file($_FILES['userfile']['tmp_name'], $_POST['path']."/".$_FILES['userfile']['name'])) { echo "<br /><span class='success'>".$_lang['files_upload_ok']."</span><br />"; } else { echo "<br /><span class='warning'>".$_lang['files_upload_copy_failed']."</span> Possible permission problems - the directory you want to upload to needs to be set to 0777 permissions.<br />"; } } }else{ echo "<br /><span class='warning'><b>".$_lang['files_upload_error'].":</b> "; switch($_FILES['userfile']['error']){ case 0: //no error; possible file attack! echo $_lang['files_upload_error0']; break; case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini echo $_lang['files_upload_error1']; break; case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form echo $_lang['files_upload_error2']; break; case 3: //uploaded file was only partially uploaded echo $_lang['files_upload_error3']; break; case 4: //no file was uploaded echo $_lang['files_upload_error4']; break; default: //a default error, just in case! :) echo $_lang['files_upload_error5']; break; } echo "</span><br />"; } echo "<hr/>"; }
i toppen og erstat så $_SERVER['DOCUMENT_ROOT'] med $rod eller erstat $_SERVER['DOCUMENT_ROOT'] med substr($SCRIPT_FILENAME, 0, strpos($SCRIPT_FILENAME, $SCRIPT_NAME) + 1)
Det er dog kun løsningen hvis du har ret i at det er fordi der findes forkert root.
der hvor fejlen kommer ser det ud til at den skal bruge $filemanager_path hvor kommer den fra og hvad er den
slettet ? Etomite ? (tjjaa.. jeg er i gang med at teste det lidt ifm. en side jeg skal hjælpe med at sætte op - og det vil jo være fint med de muligheder som CMS kan tilbyde mht. redigering, oprette sider osv.)
bojo ; smid et svar ! kanon hjælp !! - forummet hos etomite er en del sløvere end gode gamle E
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.