Hallo,
Ich habe mir Selbst ein Template erstellt wo ein Ordner ausgelesen wird und die Dateien , falls sich welche dirn Befinden als Download anbietet
PHP
<?php
/**
* Template Name: Kunden
*
*/
?>
<?
?>
<?php get_header(); ?>
<div id="primary" class="site-content">
<div id="content" role="main">
<div class="entry-content">
<br>
<a href="http://URL.de/wp/">Startseite</a>
<br>
<div font-size=15px font-weight=bold>Hier stehen ihnen ihre Dateien zum Download bereit.</div>
<br>
<?php
get_page( $page_id );
$Kunde='/homepages/17/d179527280/htdocs/wp/Kundendaten/';
$Kunde1='/wp/Kundendaten/';
$Daten='//';
$Title= strtolower(the_title('','',false));
if (!function_exists('scandir')) {
function scandir($directory, $sorting_order=0) {
if(!is_dir($directory)) {
return false;
}
$files = array();
$handle = opendir($directory);
while (false !== ($filename = readdir($handle))) {
$files[] = $filename;
}
closedir($handle);
if($sorting_order == 1) {
rsort($files);
} else {
sort($files);
}
return $files;
}
}
?></em>
<?php
$ordnerKunde=$Kunde.$Title;
$ordnerKunde1=$Kunde1.$Title;
function ordnerinhaltKunde($ordnerKunde) {
$contentKunde = "";
foreach(scandir($ordnerKunde) as $fileKunde) {
if($fileKunde[0] != '.') { // Versteckte Dateien nicht anzeigen
if(is_dir($ordnerKunde.'/'.$fileKunde)) {
$folderArrayKunde[] = $fileKunde;
} else {
$fileArrayKunde[] = $fileKunde;
}
}
}
// ...dann die Dateien ausgeben
if(isset($fileArrayKunde)) {
foreach($fileArrayKunde as $row) {
$contentKunde .= '<a href="../../'.$ordnerKunde1.'/'.$row.'">'.$row.'</a><br />'; //Dateien verlinken
}
}
// Erst die Ordner ausgeben
if(isset($folderArrayKunde)) {
foreach($folderArrayKunde as $row) {
$contentKunde .= '<b>'.$row.'</b><br />';
$contentKunde .= '<div style="padding-left:10px;color:#afafaf">'; //Unterordner nach Rechts einrücken
$contentKunde .= ordnerinhaltKunde($ordnerKunde.'/'.$row); // rekursive Funktion
$contentKunde .= '</div>';
}
}
// Rekursion ende
return $contentKunde;
}
echo ordnerinhaltKunde($Kunde.$Title);
echo '<br>';
echo '<br>';
// Mit PHP Datei hochladen (php file upload)
// Maximale Dateigröße der zum Upload vorgesehenen Datei festlegen.
// Diese Angabe muss in Bytes erfolgen (hier liegt die Beschränkung bei 15 MB)
$max_file_size = 40 * 1024 * 1024;
$max_in_MB = $max_file_size / 1024 / 1024;
$max_auf_Server_in_MB = ini_get ($upload_max_filesize);
$max_upload = (int)(ini_get('upload_max_filesize'));
$max_post = (int)(ini_get('post_max_size'));
$memory_limit = (int)(ini_get('memory_limit'));
$upload_mb = min($max_upload, $max_post, $memory_limit);
// Wurde die URL direkt aufgerufen oder erfolgte schon ein Datei-Upload?
if (!empty ($_FILES)) {
// Upload der Datei bereits erfolgt, da die Files-Variable nicht leer ist
// Auf den Status des Dateiuploads entsprechend reagieren
switch ($_FILES['userfile']['error']) {
// Upload war erfolgreich - Hier folgt die weitere Behandlung der Datei
case UPLOAD_ERR_OK:
// Nach erfolgreichem Upload der Datei folgt hier die weitere
// Verarbeitung der hochgeladenen Datei. Im Beispiel wird die Datei
// unter ihrem eigenen Dateinamen in ein Unterverzeichnis gespeichert.
// Zunächst wird geklärt, ob die unter dem temporären Namen gespeicherte Datei
// auch zuvor hochgeladen wurde
if (is_uploaded_file ($_FILES['userfile']['tmp_name']))
// Verschieben der hochgeladenen Datei in ein dafür vorgesehenes Verzeichnis
move_uploaded_file ($_FILES['userfile']['tmp_name'], $Kunde.$Title.$Daten.$_FILES['userfile']['name']);
echo '<meta http-equiv="refresh" content="0" >';
break;
// Datei war zu groß (in der php.ini gesetzte maximale Dateigröße überschritten)
case UPLOAD_ERR_INI_SIZE:
echo 'Upload fehlgeschlagen: Die von Ihnen angegebene Datei ist zu groß!';
// In der php.ini angegebene maximale Dateigröße für Uploads ausgeben, falls
// diese per Konfiguration festgelegt wurde.
if (get_cfg_var ('max_filesize'))
echo ' Die maximale Größe für den Upload von Dateien ' .
'beträgt ' . get_cfg_var ('max_filesize') . ' Bytes!';
break;
// Im Formular angegebene Dateigrößenbeschränkung wurde überschritten
case UPLOAD_ERR_FORM_SIZE:
echo 'Die von Ihnen angegebene Datei ist zu Groß! ' .
'Bitte wählen Sie Dateien mit einer maximalen Größe ' .
'von ' . $max_in_MB . ' MB aus!';
break;
// Datei wurde nicht vollständig übertragen
case UPLOAD_ERR_PARTIAL:
echo 'Bei der Übertragung der Datei ist ein Fehler aufgetreten: ' .
'Die Datei wurde nicht vollständig durch den Server empfangen! ' .
'Bitte versuchen Sie es nocheinmal.';
break;
// Es wurde keine Datei zum Upload angegeben
case UPLOAD_ERR_NO_FILE:
echo 'Sie haben keine Datei zum Upload ausgewählt. ' .
'Bitte nutzen Sie den Dateiauswahldialog, um eine Datei für den Upload auszuwählen.';
echo '<meta http-equiv="refresh" content="5" >';
break;
}
}
// Die Seite wurde nicht als Folge eines Form-Submits aufgerufen.
// Aus diesem Grunde muss das Formular angezeigt werden.
?>
<html>
<style type="text/css">
.parent {
color: #000;
height: 125px;
width: 50%;
padding: 20px;
margin-right: 10px;
}
.colorB {
background: #BBBBBA; }
/* partial opacity hack: configuration */
.opacity {
opacity: 0.3; /* modern browser */
-moz-opacity: 0.3; /* older Mozilla browser */
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* IE8 in Standard Compliant Mode */
filter:alpha(opacity=30); /* IE5.x -7.0 */
}
/* partial opacity hack, part I: Don't change the following properties! */
.opacity-wrapper,
.opacity-wrapper * {
position:relative;
}
.opacity {
/* partial opacity hack, part II: Don't change the following properties! */
width: 100%;
height: 100%;
position:absolute;
top:0;
left:0;
}
/* partial opacity hack, part III: IE6 support */
* html .opacity-wrapper {
overflow:hidden;
}
* html .opacity {
width: 2000px;
height: 2000px;
}
</style>
<head>
</head>
<body>
<div class="parent opacity-wrapper" style="top: -5px; left: 100px;">
<div class="colorB opacity"></div>
<form enctype="multipart/form-data" action="" method="post">
Hier können Sie eine Datei uploaden: <br>
<div>
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size ?>">
<input name="userfile" type="file">
<br>
<input type="submit" value="Datei Upload starten"> <br>
</div>
Die maximale Größe der Datei liegt bei <?php echo $upload_mb; ?> MB
<br>
</div>
</form>
</div>
</body>
<a href="http://mpva.de/wp/">Startseite</a>
</html>
<?php
?>
</div>
</div> <!--#content -->
</div> <!--#primary -->
<?php get_footer(); ?>
Alles anzeigen
Wenn ich mit der Variable $OrdnerKunde Arbeite gibt er mit die URL mit dem Komplettempfad aus der Variablen $Kunde aus.
Wenn ich Jedoch mit $OrdnerKunde1 Arbeite gibt er mir nur " URL/WP//*.* " aus und nicht wie in $OrdnerKunde1 steht => /wp/Kundendaten/"Ordner"
Ich Kann mir denken das ich nur irgendwas übersehen haben.
Danke schonmal für die Hilfe.