• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit einem Upload/Datei anzeige script

Status
Für weitere Antworten geschlossen.

rexini

Mitglied
Hallo,
ich habe ein Problem bzw. mehr eine Frage.

Könnte mir jemand dieses Script so erweitern das man nur .PNG Datei hochladen kann?

Ich bin nämlich nicht so besonders gut in PHP.

PHP:
<?
error_reporting(0);
if(!function_exists('imagecreatetruecolor')) $showthumbnails = false;
$leadon = $startdir;
if($leadon=='.') $leadon = '';
if((substr($leadon, -1, 1)!='/') && $leadon!='') $leadon = $leadon . '/';
$startdir = $leadon;

if($_GET['dir']) {
    //check this is okay.
    
    if(substr($_GET['dir'], -1, 1)!='/') {
        $_GET['dir'] = $_GET['dir'] . '/';
    }
    
    $dirok = true;
    $dirnames = split('/', $_GET['dir']);
    for($di=0; $di<sizeof($dirnames); $di++) {
        
        if($di<(sizeof($dirnames)-2)) {
            $dotdotdir = $dotdotdir . $dirnames[$di] . '/';
        }
        
        if($dirnames[$di] == '..') {
            $dirok = false;
        }
    }
    
    if(substr($_GET['dir'], 0, 1)=='/') {
        $dirok = false;
    }
    
    if($dirok) {
         $leadon = $leadon . $_GET['dir'];
    }
}

if($_GET['download'] && $forcedownloads) {
    $file = str_replace('/', '', $_GET['download']);
    $file = str_replace('..', '', $file);

    if(file_exists($leadon . $file)) {
        header("Content-type: application/x-download");
        header("Content-Length: ".filesize($leadon . $file)); 
        header('Content-Disposition: attachment; filename="'.$file.'"');
        readfile($leadon . $file);
        die();
    }
}

if($allowuploads && $_FILES['file']) {
    $upload = true;
    if(!$overwrite) {
        if(file_exists($leadon.$_FILES['file']['name'])) {
            $upload = false;
        }
    }
    
    if($upload) {
        move_uploaded_file($_FILES['file']['tmp_name'], $leadon . $_FILES['file']['name']);
    }
}

$opendir = $leadon;
if(!$leadon) $opendir = '.';
if(!file_exists($opendir)) {
    $opendir = '.';
    $leadon = $startdir;
}

clearstatcache();
if ($handle = opendir($opendir)) {
    while (false !== ($file = readdir($handle))) { 
        //first see if this file is required in the listing
        if ($file == "." || $file == "..")  continue;
        $discard = false;
        for($hi=0;$hi<sizeof($hide);$hi++) {
            if(strpos($file, $hide[$hi])!==false) {
                $discard = true;
            }
        }
        
        if($discard) continue;
        if (@filetype($leadon.$file) == "dir") {
            if(!$showdirs) continue;
        
            $n++;
            if($_GET['sort']=="date") {
                $key = @filemtime($leadon.$file) . ".$n";
            }
            else {
                $key = $n;
            }
            $dirs[$key] = $file . "/";
        }
        else {
            $n++;
            if($_GET['sort']=="date") {
                $key = @filemtime($leadon.$file) . ".$n";
            }
            elseif($_GET['sort']=="size") {
                $key = @filesize($leadon.$file) . ".$n";
            }
            else {
                $key = $n;
            }
            $files[$key] = $file;
            
            if($displayindex) {
                if(in_array(strtolower($file), $indexfiles)) {
                    header("Location: $file");
                    die();
                }
            }
        }
    }
    closedir($handle); 
}

//sort our files
if($_GET['sort']=="date") {
    @ksort($dirs, SORT_NUMERIC);
    @ksort($files, SORT_NUMERIC);
}
elseif($_GET['sort']=="size") {
    @natcasesort($dirs); 
    @ksort($files, SORT_NUMERIC);
}
else {
    @natcasesort($dirs); 
    @natcasesort($files);
}

//order correctly
if($_GET['order']=="desc" && $_GET['sort']!="size") {$dirs = @array_reverse($dirs);}
if($_GET['order']=="desc") {$files = @array_reverse($files);}
$dirs = @array_values($dirs); $files = @array_values($files);


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>SPORE Kreaturen Archive | Die Kreaturen der User !</title>
<link rel="stylesheet" type="text/css" href="dlf/styles.css" />
<?
if($showthumbnails) {
?>
<script language="javascript" type="text/javascript">
<!--
function o(n, i) {
    document.images['thumb'+n].src = 'dlf/i.php?f='+i;

}

function f(n) {
    document.images['thumb'+n].src = 'dlf/trans.gif';
}
//-->
</script>
<?
}
?>
</head>
<body>
<div id="container">
  <div id="breadcrumbs"><a href="#">Home</a> | <a href="Kontakt.html">Kontakt</a>
  <?
      $breadcrumbs = split('/', $leadon);
      if(($bsize = sizeof($breadcrumbs))>0) {
          $sofar = '';
          for($bi=0;$bi<($bsize-1);$bi++) {
            $sofar = $sofar . $breadcrumbs[$bi] . '/';
            echo ' &gt; <a href="'.$_SERVER['PHP_SELF'].'?dir='.urlencode($sofar).'">'.$breadcrumbs[$bi].'</a>';
        }
      }
  
    $baseurl = $_SERVER['PHP_SELF'] . '?dir='.$_GET['dir'] . '&amp;';
    $fileurl = 'sort=name&amp;order=asc';
    $sizeurl = 'sort=size&amp;order=asc';
    $dateurl = 'sort=date&amp;order=asc';
    
    switch ($_GET['sort']) {
        case 'name':
            if($_GET['order']=='asc') $fileurl = 'sort=name&amp;order=desc';
            break;
        case 'size':
            if($_GET['order']=='asc') $sizeurl = 'sort=size&amp;order=desc';
            break;
            
        case 'date':
            if($_GET['order']=='asc') $dateurl = 'sort=date&amp;order=desc';
            break;  
        default:
            $fileurl = 'sort=name&amp;order=desc';
            break;
    }
  ?>
  </div>
  <div id="listingcontainer">
    <div id="listingheader"> 
    <div id="headerfile"><a href="<?=$baseurl . $fileurl;?>">File</a></div>
    <div id="headersize"><a href="<?=$baseurl . $sizeurl;?>">Size</a></div>
    <div id="headermodified"><a href="<?=$baseurl . $dateurl;?>">Last Modified</a></div>
    </div>
    <div id="listing">
    <?
    $class = 'b';
    if($dirok) {
    ?>
    <div><a href="<?=$_SERVER['PHP_SELF'].'?dir='.urlencode($dotdotdir);?>" class="<?=$class;?>"><img src="dlf/dirup.png" alt="Folder" /><strong>..</strong> <em>-</em> <?=date ("M d Y h:i:s A", filemtime($dotdotdir));?></a></div>
    <?
        if($class=='b') $class='w';
        else $class = 'b';
    }
    $arsize = sizeof($dirs);
    for($i=0;$i<$arsize;$i++) {
    ?>
    <div><a href="<?=$_SERVER['PHP_SELF'].'?dir='.urlencode($leadon.$dirs[$i]);?>" class="<?=$class;?>"><img src="dlf/folder.png" alt="<?=$dirs[$i];?>" /><strong><?=$dirs[$i];?></strong> <em>-</em> <?=date ("M d Y h:i:s A", filemtime($leadon.$dirs[$i]));?></a></div>
    <?
        if($class=='b') $class='w';
        else $class = 'b';    
    }
    
    $arsize = sizeof($files);
    for($i=0;$i<$arsize;$i++) {
        $icon = 'unknown.png';
        $ext = strtolower(substr($files[$i], strrpos($files[$i], '.')+1));
        $supportedimages = array('gif', 'png', 'jpeg', 'jpg');
        $thumb = '';
        
        if($showthumbnails && in_array($ext, $supportedimages)) {
            $thumb = '<span><img src="dlf/trans.gif" alt="'.$files[$i].'" name="thumb'.$i.'" /></span>';
            $thumb2 = ' onmouseover="o('.$i.', \''.urlencode($leadon . $files[$i]).'\');" onmouseout="f('.$i.');"';
            
        }
        
        if($filetypes[$ext]) {
            $icon = $filetypes[$ext];
        }
        
        $filename = $files[$i];
        if(strlen($filename)>43) {
            $filename = substr($files[$i], 0, 40) . '...';
        }
        
        $fileurl = $leadon . $files[$i];
        if($forcedownloads) {
            $fileurl = $_SESSION['PHP_SELF'] . '?dir=' . urlencode($leadon) . '&download=' . urlencode($files[$i]);
        }

    ?>
    <div><a href="<?=$fileurl;?>" class="<?=$class;?>"<?=$thumb2;?>><img src="dlf/<?=$icon;?>" alt="<?=$files[$i];?>" /><strong><?=$filename;?></strong> <em><?=round(filesize($leadon.$files[$i])/1024);?>KB</em> <?=date ("M d Y h:i:s A", filemtime($leadon.$files[$i]));?><?=$thumb;?></a></div>
    <?
        if($class=='b') $class='w';
        else $class = 'b';    
    }    
    ?></div>
    <?
    if($allowuploads) {
        $phpallowuploads = (bool) ini_get('file_uploads');        
        $phpmaxsize = ini_get('upload_max_filesize');
        $phpmaxsize = trim($phpmaxsize);
        $last = strtolower($phpmaxsize{strlen($phpmaxsize)-1});
        switch($last) {
            case 'g':
                $phpmaxsize *= 1024;
            case 'm':
                $phpmaxsize *= 1024;
        }
    
    ?>
    <div id="upload">
        <div id="uploadtitle"><strong>File Upload</strong> (Max Filesize: <?=$phpmaxsize;?>
        <div id="uploadcontent">
            <?
            if($phpallowuploads) {
            ?>
            <form method="post" action="<?=$_SERVER['PHP_SELF'];?>?dir=<?=urlencode($leadon);?>" enctype="multipart/form-data">
            <input type="file" name="file" /> <input type="submit" value="Upload" />
            </form>
            <?
            }
            else {
            ?>
            File uploads are disabled in your php.ini file. Please enable them.
            <?
            }
            ?>
        </div>
        
    </div>
    <?
    }
    ?>
Danke schonmal.
 
Sry aber da werd ich net ganz schlau raus ich hatte schonmal en Uploadscript und dort stand auch was davon nur weiß ich net genau was.

Könnteste mir bitte erkläre wie ich es einfügen muss?

Danke

EDIT: Habs selber gelöst mit ner Kombi aus zwei scripts ergebnis siehe hier: SPORE Kreaturen Archive | Die Kreaturen der User !

Trotzdem Danke
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben