Einzelnen Beitrag anzeigen
Alt 03.03.2010, 11:24   #14
wasnun
Erfahrener Benutzer
Punkte: 13.882, Level: 76 Punkte: 13.882, Level: 76 Punkte: 13.882, Level: 76
Levelaufstieg: 58% Levelaufstieg: 58% Levelaufstieg: 58%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
 
Benutzerbild von wasnun
 
Registriert seit: 26.02.2010
Alter: 27
Beitr?ge: 259
Abgegebene Danke: 0
Erhielt 2 Danke für 2 Beiträge
Themenstarter Themenstarter
Downloads: 37
Uploads: 0
Nachrichten: 9
Renommee-Modifikator:
0 wasnun ist in Verruf geratenwasnun ist in Verruf geratenwasnun ist in Verruf geratenwasnun ist in Verruf geratenwasnun ist in Verruf geratenwasnun ist in Verruf geratenwasnun ist in Verruf geratenwasnun ist in Verruf geratenwasnun ist in Verruf geratenwasnun ist in Verruf geratenwasnun ist in Verruf geraten
Standard

Hab ein Prob.
wenn ich dann auf ordner gehe, und ein file runterladen möchte, zeigt er mir an :

Warning: Cannot modify header information - headers already sent by (output started at /var/www/e8w45w75c4/dir.php:27) in /var/www/e8w45w75c4/dir.php on line 78

Warning: Cannot modify header information - headers already sent by (output started at /var/www/e8w45w75c4/dir.php:27) in /var/www/e8w45w75c4/dir.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /var/www/e8w45w75c4/dir.php:27) in /var/www/e8w45w75c4/dir.php on line 80

Warning: Cannot modify header information - headers already sent by (output started at /var/www/e8w45w75c4/dir.php:27) in /var/www/e8w45w75c4/dir.php on line 81

oder bei nem anderen file :
Warning: Cannot modify header information - headers already sent by (output started at /var/www/e8w45w75c4/dir.php:27) in /var/www/e8w45w75c4/dir.php on line 144

Warning: Cannot modify header information - headers already sent by (output started at /var/www/e8w45w75c4/dir.php:27) in /var/www/e8w45w75c4/dir.php on line 145

Warning: Cannot modify header information - headers already sent by (output started at /var/www/e8w45w75c4/dir.php:27) in /var/www/e8w45w75c4/dir.php on line 146

Warning: Cannot modify header information - headers already sent by (output started at /var/www/e8w45w75c4/dir.php:27) in /var/www/e8w45w75c4/dir.php on line 147

und irgendwelche zeichen (siehe bild)

hier die dir.php :
Zeile 77 - 82
PHP-Code:
         $arTemp explode("/"$down);
        if (
count($arTemp) > 1) {
            
array_pop($arTemp);
            
$current implode("/"$arTemp);
        }
        if (
file_exists($path)) {
            
header("Content-type: application/octet-stream\n");
            
header("Content-disposition: attachment; filename=\"".$file."\"\n");
            
header("Content-transfer-encoding: binary\n");
            
header("Content-length: " file_size($path) . "\n");
            
// write the session to close so you can continue to browse on the site. 
Komplett

PHP-Code:

/* $Id: dir.php 1874 2006-12-12 00:46:52Z b4rt $ */

/*******************************************************************************

 LICENSE

 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License (GPL)
 as published by the Free Software Foundation; either version 2
 of the License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 GNU General Public License for more details.

 To read the license please visit http://www.gnu.org/copyleft/gpl.html

*******************************************************************************/

include_once("config.php");
include_once("functions.php");
?>
<center><img src="images/logo.png" border="0" alt="" /></a></center>
<?
checkUserPath();

// Setup some defaults if they are not set.
$del = getRequestVar('del');
$down = getRequestVar('down');
$tar = getRequestVar('tar');
$dir = urldecode(getRequestVar('dir'));
// check dir-var
if (isValidPath($dir) !== true) {
    AuditAction($cfg["constants"]["error"], "ILLEGAL DIR: ".$cfg["user"]." tried to access ".$dir);
    $dir = "";
}
$dir = stripslashes($dir);

// -----------------------------------------------------------------------------

// Are we to delete something?
if ($del != "") {
    $current = delDirEntry($del);
    header("Location: dir.php?dir=".urlencode($current));
}

// Are we to download something?
if ($down != "") {
    // is enabled ?
    if ($cfg["enable_file_download"] != 1) {
        AuditAction($cfg["constants"]["error"], "ILLEGAL ACCESS: ".$cfg["user"]." tried to use download (".$down.")");
        showErrorPage("download is disabled.");
    }
    $current = "";
    // Yes, then download it
    // we need to strip slashes twice in some circumstances
    // Ex.  If we are trying to download test/tester's file/test.txt
    // $down will be "test/tester\\\'s file/test.txt"
    // one strip will give us "test/tester\'s file/test.txt
    // the second strip will give us the correct
    //  "test/tester's file/test.txt"
    $down = stripslashes(stripslashes($down));
    if (isValidPath($down)) {
        $path = $cfg["path"].$down;
        $p = explode(".", $path);
        $pc = count($p);
        $f = explode("/", $path);
        $file = array_pop($f);
        $arTemp = explode("/", $down);
        if (count($arTemp) > 1) {
            array_pop($arTemp);
            $current = implode("/", $arTemp);
        }
        if (file_exists($path)) {
            header("Content-type: application/octet-stream\n");
            header("Content-disposition: attachment; filename=\"".$file."\"\n");
            header("Content-transfer-encoding: binary\n");
            header("Content-length: " . file_size($path) . "\n");
            // write the session to close so you can continue to browse on the site.
            @session_write_close();
            //$fp = fopen($path, "r");
            $fp = popen("cat ".escapeshellarg($path), "r");
            fpassthru($fp);
            pclose($fp);
            // log
            AuditAction($cfg["constants"]["fm_download"], $down);
            exit();
        } else {
            AuditAction($cfg["constants"]["error"], "File Not found for download: ".$cfg['user']." tried to download ".$down);
        }
    } else {
        AuditAction($cfg["constants"]["error"], "ILLEGAL DOWNLOAD: ".$cfg['user']." tried to download ".$down);
    }
    header("Location: dir.php?dir=".urlencode($current));
}

// Are we to download something?
if ($tar != "") {
    // is enabled ?
    if ($cfg["enable_file_download"] != 1) {
        AuditAction($cfg["constants"]["error"], "ILLEGAL ACCESS: ".$cfg["user"]." tried to use download (".$tar.")");
        showErrorPage("download is disabled.");
    }
    $current = "";
    // Yes, then tar and download it
    // we need to strip slashes twice in some circumstances
    // Ex.  If we are trying to download test/tester's file/test.txt
    // $down will be "test/tester\\\'s file/test.txt"
    // one strip will give us "test/tester\'s file/test.txt
    // the second strip will give us the correct
    //  "test/tester's file/test.txt"
    $tar = stripslashes(stripslashes($tar));
    if (isValidPath($tar)) {
        // This prevents the script from getting killed off when running lengthy tar jobs.
        ini_set("max_execution_time", 3600);
        $tar = $cfg["path"].$tar;
        $arTemp = explode("/", $tar);
        if (count($arTemp) > 1) {
            array_pop($arTemp);
            $current = implode("/", $arTemp);
        }
        // Find out if we're really trying to access a file within the
        // proper directory structure. Sadly, this way requires that $cfg["path"]
        // is a REAL path, not a symlinked one. Also check if $cfg["path"] is part
        // of the REAL path.
        if (is_dir($tar)) {
            $sendname = basename($tar);
            switch ($cfg["package_type"]) {
                Case "tar":
                    $command = "tar cf - \"".addslashes($sendname)."\"";
                    break;
                Case "zip":
                    $command = "zip -0r - \"".addslashes($sendname)."\"";
                    break;
                default:
                    $cfg["package_type"] = "tar";
                    $command = "tar cf - \"".addslashes($sendname)."\"";
                    break;
            }
            // HTTP/1.0
            header("Pragma: no-cache");
            header("Content-Description: File Transfer");
            header("Content-Type: application/force-download");
            header('Content-Disposition: attachment; filename="'.$sendname.'.'.$cfg["package_type"].'"');
            // write the session to close so you can continue to browse on the site.
            @session_write_close();
            // Make it a bit easier for tar/zip.
            chdir(dirname($tar));
            passthru($command);
            AuditAction($cfg["constants"]["fm_download"], $sendname.".".$cfg["package_type"]);
            exit();
        } else {
            AuditAction($cfg["constants"]["error"], "Illegal download: ".$cfg['user']." tried to download ".$tar);
        }
    } else {
        AuditAction($cfg["constants"]["error"], "ILLEGAL TAR DOWNLOAD: ".$cfg['user']." tried to download ".$tar);
    }
    header("Location: dir.php?dir=".urlencode($current));
}

// -----------------------------------------------------------------------------

if ($dir == "")
    unset($dir);
if (isset($dir)) {
    if (isValidPath($dir) !== true)
        unset($dir);
    else
        $dir = $dir."/";
}

// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------

DisplayHead(_DIRECTORYLIST);
?>
<script language="JavaScript">
function MakeTorrent(name_file)
{
    window.open (name_file,'_blank','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=600,height=430')
}
function ConfirmDelete(file)
{
    return confirm("<?php echo _ABOUTTODELETE ?>: " + file)
}
function checkCheck(thisIn)
{
    var form = thisIn.form, i = 0;
    for(i=0; i < form.length; i++)
    {
        if( form[i].type == 'checkbox' && form[i].name != 'checkall')
        {
            form[i].checked = thisIn.checked;
        }
    }
}
<!-- R.D. Robust UnRAR/UnZip hack -->
function UncompDetails(URL)
{
  window.open (URL,'_blank','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=600,height=300');
}
</script>
<?php
displayDriveSpaceBar
(getDriveSpace($cfg["path"]));
echo 
"<br>";
if(!isset(
$dir)) $dir "";
ListDirectory($cfg["path"].$dir);
DisplayFoot();

// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------

//**************************************************************************
// ListDirectory()
// This method reads files and directories in the specified path and
// displayes them.
function ListDirectory($dirName) {
    global 
$dirModified$dir$cfg;
    
$bgLight $cfg["bgLight"];
    
$bgDark $cfg["bgDark"];
    
$entrys = array();
    
$bg $bgLight;
    
$dirName stripslashes($dirName);
    if (isset(
$dir)) {
        
//setup default parent directory URL
        
$parentURL "dir.php";
        
//get the real parentURL
        
if (preg_match("/^(.+)\/.+$/",$dir,$matches) == 1)
            
$parentURL="dir.php?dir=" urlencode($matches[1]);
        echo 
"<a href=\"" $parentURL "\"><img src=\"images/up_dir.gif\" width=16 height=16 title=\""._BACKTOPARRENT."\" border=0>["._BACKTOPARRENT."]</a>";
    }
    
//echo "<table cellpadding=2 width=740>";
    /* --- Multi Delete Hack --- */
    
echo '<table cellpadding="2"" width="740">';
    echo 
'<form action="multi.php" method="post" name="multidir">';
    
$handle opendir($dirName);
    while(
$entry readdir($handle))
        
$entrys[] = $entry;
    
natsort($entrys);
    foreach(
$entrys as $entry) {
        
//if ($entry != "." && $entry != ".." && substr($entry, 0, 1) != ".") {
        
if (($entry != ".") && ($entry != "..") && (substr($entry01) != ".") && ($entry != "lost+found")) {
            if (@
is_dir($dirName.$entry)) {
                echo 
"<tr bgcolor=\"".$bg."\"><td><a href=\"dir.php?dir=".urlencode($dir.$entry)."\"><img src=\"images/folder2.gif\" width=\"16\" height=\"16\" title=\"".$entry."\" border=\"0\" align=\"absmiddle\">".$entry."</a></td>";
                
// Some Stats dir hack
                
if ($cfg['enable_dirstats'] == 1) {
                    
$dudir = @shell_exec($cfg['bin_du']." -sk -h ".escapeshellarg($dirName.$entry));
                    
$dusize explode("\t"$dudir);
                    
$arStat = @lstat($dirName.$entry);
                    
$timeStamp = @filemtime($dirName.$entry);
                    echo 
"<td align=\"right\">".$dusize[0]."B</td>";
                    echo 
"<td width=140>".@date("m-d-Y h:i a"$timeStamp)."</td>";
                } else {
                    echo 
"<td>&nbsp;</td>";
                    echo 
"<td>&nbsp;</td>";
                }
                echo 
"<td align=\"right\" nowrap>";

                
// rename hack
                
include('rename_dir_extension.php');
                
// move hack
                
include('move_dir_extension.php');

                
// SFV Check
                
if ($cfg['enable_sfvcheck'] == 1) {
                    if(
false !== ($sfv findSFV($dirName.$entry))) {
                      echo 
'<a href="javascript:CheckSFV(\''.
                      
$sfv[dir] . '\',\''.$sfv[sfv].'\')"><img '.
                      
'src="images/sfv_enabled.gif" border="0" '.
                      
'width="16" height="16" alt="sfv check torrent"></a>';
                    } else {
                      echo 
'<img src="images/sfv_disabled.gif" border="0" width="16" height="16" alt="sfv check torrent (no sfv found)">';
                    }
                }
                
// maketorrent
                
if ($cfg["enable_maketorrent"])
                    echo 
"<a href=\"JavaScript:MakeTorrent('maketorrent.php?path=".urlencode($dir.$entry)."')\"><img src=\"images/make.gif\" width=16 height=16 title=\"Make Torrent\" border=0></a>";
                
// download
                
if ($cfg["enable_file_download"])
                    echo 
"<a href=\"dir.php?tar=".urlencode($dir.$entry)."\"><img src=\"images/tar_down.gif\" width=16 height=16 title=\"Download as ".$cfg["package_type"]."\" border=0></a>";
                
// The following lines of code were suggested by Jody Steele jmlsteele@stfu.ca
                // this is so only the owner of the file(s) or admin can delete
                // only give admins and users who "own" this directory
                // the ability to delete sub directories
                
if(IsAdmin($cfg["user"]) || preg_match("/^" $cfg["user"] . "/",$dir)) {
                    
//echo "<a href=\"dir.php?del=".urlencode($dir.$entry)."\" onclick=\"return ConfirmDelete('".addslashes($entry)."')\"><img src=\"images/delete_on.gif\" width=16 height=16 title=\""._DELETE."\" border=0></a>";
                    /* --- Multi Delete Hack --- */
                    /* checkbox appended to line */
                    
echo "<a href=\"dir.php?del=".urlencode($dir.$entry)."\" onclick=\"return ConfirmDelete('".addslashes($entry)."')\"><img src=\"images/delete_on.gif\" width=16 height=16 title=\""._DELETE."\" border=0></a><input type=\"checkbox\" name=\"file[]\" value=\"".urlencode($dir.$entry)."\">";
                    
/* --- Multi Delete Hack --- */
                
} else {
                    echo 
"&nbsp;";
                }
                echo 
"</td></tr>\n";
                if (
$bg == $bgLight)
                    
$bg $bgDark;
                else
                    
$bg $bgLight;
            }
        }
    }
    
closedir($handle);
    
$entrys = array();
    
$handle opendir($dirName);
    while(
$entry readdir($handle))
        
$entrys[] = $entry;
    
natsort($entrys);
    foreach(
$entrys as $entry) {
        if (
$entry != "." && $entry != "..") {
            if (@
is_dir($dirName.$entry)) {
                
// Do nothing
            
} else {
                
$arStat = @lstat($dirName.$entry);
                
$arStat[7] = ($arStat[7] == 0) ? @file_size($dirName.$entry ) : $arStat[7];
                if (
array_key_exists(10,$arStat))
                    
$timeStamp = @filemtime($dirName.$entry); // $timeStamp = $arStat[10];
                
else
                    
$timeStamp "";
                
$fileSize number_format(($arStat[7])/1024);
                
// Code added by Remko Jantzen to assign an icon per file-type. But when not
                // available all stays the same.
                
$image="images/time.gif";
                
$imageOption="images/files/".getExtension($entry).".png";
                if (
file_exists("./".$imageOption))
                    
$image $imageOption;
                echo 
"<tr bgcolor=\"".$bg."\">";
                echo 
"<td>";
                
// Can users download files?
                
if ($cfg["enable_file_download"]) {
                    
// Yes, let them download
                    
echo "<a href=\"dir.php?down=".urlencode($dir.$entry)."\" >";
                    echo 
"<img src=\"".$image."\" width=\"16\" height=\"16\" alt=\"".$entry."\" border=\"0\"></a>";
                    echo 
"<a href=\"dir.php?down=".urlencode($dir.$entry)."\" >".$entry."</a>";
                } else {
                    
// No, just show the name
                    
echo "<img src=\"".$image."\" width=\"16\" height=\"16\" alt=\"".$entry."\" border=\"0\">";
                    echo 
$entry;
                }
                echo 
"</td>";
                echo 
"<td align=\"right\">".$fileSize." KB</td>";
                
// Some Stats dir hack
                
if ($cfg['enable_dirstats'] == 1)
                    echo 
"<td width=140>".@date("m-d-Y h:i a"$timeStamp)."</td>";
                else
                    echo 
"<td>".@date("m-d-Y g:i a"$timeStamp)."</td>";
                echo 
"<td align=\"right\" nowrap>";

                
// rename hack
                
include('rename_dir_extension.php');
                
// move hack
                
include('move_dir_extension.php');

                if (
$cfg['enable_rar'] == 1) {
                    
// R.D. - Display links for unzip/unrar
                    //**************************************************************************************************************

                    
if(IsAdmin($cfg["user"]) || preg_match("/^" $cfg["user"] . "/",$dir))  {
                      if ((
strpos($entry'.rar') !== FALSE AND strpos($entry'.Part') === FALSE) OR (strpos($entry'.part01.rar') !== FALSE ) OR (strpos($entry'.part1.rar') !== FALSE ))
                        echo 
"<a href=\"javascript:UncompDetails('uncomp.php?file=".urlencode($dir.$entry)."&dir=".urlencode($dir)."&type=rar')\"><img src=\"images/rar_enabled.gif\" width=16 height=16 title=\"Unrar\" border=0></a>";
                      if (
strpos($dir.$entry'.zip') !== FALSE)
                        echo 
"<a href=\"javascript:UncompDetails('uncomp.php?file=".urlencode($dir.$entry)."&dir=".urlencode($dir)."&type=zip')\"><img src=\"images/zip.png\" width=16 height=16 title=\"Unzip\" border=0></a>";
                    }
                    
//**************************************************************************************************************
                
}

                
// nfo
                
if ($cfg["enable_view_nfo"] && ((substr(strtolower($entry), -) == ".nfo" ) || (substr(strtolower($entry), -) == ".txt" ) || (substr(strtolower($entry), -) == ".log" )))
                    echo 
"<a href=\"viewnfo.php?path=".urlencode(addslashes($dir.$entry))."\"><img src=\"images/view_nfo.gif\" width=16 height=16 title=\"View '$entry'\" border=0></a>";
                
// maketorrent
                
if ($cfg["enable_maketorrent"])
                    echo 
"<a href=\"JavaScript:MakeTorrent('maketorrent.php?path=".urlencode($dir.$entry)."')\"><img src=\"images/make.gif\" width=16 height=16 title=\"Make Torrent\" border=0></a>";

                
// download
                
if ($cfg["enable_file_download"]) {
                    
// Show the download button
                    
echo "<a href=\"dir.php?down=".urlencode($dir.$entry)."\" >";
                    echo 
"<img src=\"images/download_owner.gif\" width=16 height=16 title=\"Download\" border=0>";
                    echo 
"</a>";
                }
                
// The following lines of code were suggested by Jody Steele jmlsteele@stfu.ca
                // this is so only the owner of the file(s) or admin can delete
                // only give admins and users who "own" this directory
                // the ability to delete files
                
if(IsAdmin($cfg["user"]) || preg_match("/^" $cfg["user"] . "/",$dir)) {
                    
//echo "<a href=\"dir.php?del=".urlencode($dir.$entry)."\" onclick=\"return ConfirmDelete('".addslashes($entry)."')\"><img src=\"images/delete_on.gif\" width=16 height=16 title=\""._DELETE."\" border=0></a>";
                    /* --- Multi Delete Hack --- */
                    /* checkbox appended to line */
                    
echo "<a href=\"dir.php?del=".urlencode($dir.$entry)."\" onclick=\"return ConfirmDelete('".addslashes($entry)."')\"><img src=\"images/delete_on.gif\" width=16 height=16 title=\""._DELETE."\" border=0></a><input type=\"checkbox\" name=\"file[]\" value=\"".urlencode($dir.$entry)."\">";
                    
/* --- Multi Delete Hack --- */
                
} else {
                    echo 
"&nbsp;";
                }
                echo 
"</td></tr>\n";
                if (
$bg == $bgLight)
                    
$bg $bgDark;
                else
                    
$bg $bgLight;
            }
        }
    }
    
// Some Stats dir hack
    
closedir($handle);

    
/* --- Multi Delete Hack --- */
    
echo '<input type="hidden" name="action" value="fileDelete" />';
    echo 
'<tr><td align="right" colspan="4"><a href="javascript:document.multidir.submit()" onclick="return ConfirmDelete(\'Multiple Files\')"><img src="images/delete_on.gif" title="Delete" border="0" height="16" width="16"></a><input type="checkbox" onclick="checkCheck(this);" /></td></tr>';
    echo 
"</form>";
    
/* --- Multi Delete Hack --- */

    
echo "</table>";

    if (
$cfg['enable_dirstats'] == 1) {
        
$cmd $cfg['bin_du']." -ch ".escapeshellarg($dirName)." | ".$cfg['bin_grep']." \"total\"";
        
$du shell_exec($cmd);
        echo 
'<table cellpadding="0" width="740">';
        
$du2 substr($du0, -7);
        echo 
"<tr bgcolor=#ececec>";
        echo 
"<td align=\"center\">"._TDDU." ".$du2."B</td></tr>";
        echo 
"</table>";
    }
}

// ***************************************************************************
// ***************************************************************************
// Checks for the location of the users directory
// If it does not exist, then it creates it.
function checkUserPath() {
    global 
$cfg;
    
// is there a user dir?
    
if (!is_dir($cfg["path"].$cfg["user"])) {
        
//Then create it
        
mkdir($cfg["path"].$cfg["user"], 0777);
    }
}

// This function returns the extension of a given file.
// Where the extension is the part after the last dot.
// When no dot is found the noExtensionFile string is
// returned. This should point to a 'unknown-type' image
// time by default. This string is also returned when the
// file starts with an dot.
function getExtension($fileName) {
    
$noExtensionFile="unknown"// The return when no extension is found
    //Prepare the loop to find an extension
    
$length = -1*(strlen($fileName)); // The maximum negative value for $i
    
$i=-1//The counter which counts back to $length
    //Find the last dot in an String 
    
while (substr($fileName,$i,1) != "." && $i $length) {$i -= 1; }
    
//Get the extension (with dot)
    
$ext substr($fileName,$i);
    
//Decide what to return.
    
if (substr($ext,0,1)==".") {$ext substr($ext,((-strlen($ext))+1)); } else {$ext $noExtensionFile;}
    
//Return the extension
    
return strtolower($ext);
}

?>
Angeh?ngte Grafiken
Dateityp: jpg fehler.jpg (199,1 KB, 79x aufgerufen)

Ge?ndert von wasnun (03.03.2010 um 11:29 Uhr)
wasnun ist offline   Mit Zitat antworten Nach oben