php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.09.2004, 13:41  
Gast
 
Beiträge: n/a
Standard Ordnerinhalt zum Download anbieten

Hallo,

ich habe meine ersten Versuche mit PHP gemacht und habe jetzt ein paar kleine Probleme.
Ich möchte folgenden Code benutzen, um einen Ordner auszulesen und den Inhalt zum download verfügbar machen.

Code:
<html>
<body>
<?php
	$startpath = 'e:/download';

	if (!isset($path)) $path = $startpath;
	
	if (!isset($download)&& !isset($directory))
	{
		auflisten($path, $extensions);
	}
	else
	{
		if (isset($directory)) directory($path, $directory, $startpath);
		if (isset($download)) download($path, $download);
	}
	
	function auflisten($path)
	{
		$extensions = 'txt';
		
		echo "<a href=\"$PHP_SELF?directory=root\">Download-Übersicht</a>
";
		echo "<a href=\"$PHP_SELF?directory=..\">..</a>


";
		//1. Problem
		//wenn Leerzeichen in Pfad, dann Fehler
		$handle = opendir($path);
		while (false !== ($file = readdir($handle)))
		{
			//Datei & Endung
			if (is_file($path."/".$file) && substr(strrchr($file,'.'),1) == $extensions) echo "<a href=\"$PHP_SELF?download=$file\">$file</a>
";
			//Ordner & nicht .. oder .
			if (is_dir($path."/".$file) && $file <> '..' && $file <> '.') echo "<a href=\"$PHP_SELF?directory=$file\">$file</a>
";
		}
		closedir($handle);
	}
	
	function directory($path, $directory, $startpath)
	{
		if ($directory == "..")
		{
			//4. Warum Pfadänderung
			auflisten($path);
		}
		else if ($directory == "root")
		{
			$path = $startpath;
			auflisten($path);
		}
		else
		{
			$path = $path."/".$directory;
			auflisten($path);
		}
	}
	
	function download($path, $download)
	{
		//3. Problem
		//Download = $path."/".$download
		//2. Problem
		//Wenn Download, dann wird Pfad auf "Startpfad" zurückgesetzt
		auflisten($path);
	}
?>
</body>
</html>
Die Probleme (siehe Kommentare):

1. Wie kann ich Pfade mit Leerzeichen auslesen?
2. Wenn ich den Link einer Datein anklicke, wechselt die Übersicht immer in den Ordner, welcher in $startpath gespeichert ist.
3. Wie kann ich dem Browser eine Datei mit dem Link $path."/".$download zum Download anbieten?
4. Wieso wird bei einem Klick auf .. der Pfad automatisch eine Ebene höher gesetzt, jedoch nur bis $startpath, ohne dass $path bearbeitet wird

Danke
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.09.2004, 14:30  
Gast
 
Beiträge: n/a
Standard

1: abgesehen, dass kein normaler mensch leerzeichen im datei/ordner namen
hat nur weil das windows erlaubt .. try %20
2: dazu wär ganz nützlich, dass du uns mal nen beispiel kopierst, wie der link
beschriftet ist, und welches linkziel er hat.
3: mit ... und direkt auf die datei linken
4: ähm? wieso sollte es auch weiter gehen ich denke hier tritt das gleiche wie
bei 2 auf .. copy & paste uns mal wie das ganze aussieht.
 
Alt 14.09.2004, 14:50  
Gast
 
Beiträge: n/a
Standard

zu 1. - Wie kann ich Pfade mit Leerzeichen auslesen?
- kein Mensch außer mir :wink:

zu 2. - Wenn ich den Link einer Datein anklicke, wechselt die Übersicht immer in den Ordner, welcher in $startpath gespeichert ist.
Link wird automatisch erstellt duch:
- echo "<a href=\"$PHP_SELF?download=$file\">$file</a>
";
z.B.: h**p://domain.com/downloads/download.php?download=Datei.txt

zu 3. - Wie kann ich dem Browser eine Datei mit dem Link $path."/".$download zum Download anbieten?
- function download($path, $download)
- der Pfad zur Datei ist in $pfad gespeichert
- Dateiname in $download

zu 4. - Wieso wird bei einem Klick auf .. der Pfad automatisch eine Ebene höher gesetzt, jedoch nur bis $startpath, ohne dass $path bearbeitet wird
- echo "<a href=\"$PHP_SELF?directory=..\">..</a>


";
- $path wird ohne Grund in function directory geändert. Das soll zwar auch so sein und funktioniert ja auch. Die Frage war nur warum
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Download per paypal verkaufen Andreas08 Scriptbörse 5 29.08.2008 05:54
Download abfrage mijoko PHP Tipps 2007 4 18.06.2007 17:12
[Erledigt] Freeware zum download anbieten ??? seppel15 Off-Topic Diskussionen 6 04.12.2006 12:58
Erstellten Download-File zum Öffnen oder Download anbieten . mb59 Server, Hosting und Workstations 3 30.05.2006 09:26
Download starten (header funktion), vorher Text ausgeben? Harakiri81 PHP-Fortgeschrittene 19 16.05.2006 21:15
pdf zum Download anbieten Fatal Error PHP Tipps 2006 12 04.04.2006 09:12
Dateiname bei Download ändern aber wie? CoverDB PHP Tipps 2006 16 20.03.2006 16:40
[Erledigt] Download PHP Tipps 2006 6 26.01.2006 19:15
[Erledigt] Hilfe bei Download Verwaltungs Script PHP Tipps 2005 8 04.05.2005 10:29
Dateioperationen und Download kontrollieren Alpha Centauri PHP Tipps 2005 7 02.03.2005 11:52
phpBB zum Download anbieten Off-Topic Diskussionen 2 29.01.2005 19:02
datei nach download löschen HTML, Usability und Barrierefreiheit 0 18.09.2004 17:16
textdatei zum download anbieten HTML, Usability und Barrierefreiheit 2 17.09.2004 23:11
download und Insert problem! PHP Tipps 2004 4 04.09.2004 16:51
Dateien zum download anbieten PHP Tipps 2004 16 13.06.2004 14:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ordner zum download bereitstellen, ordnerinhalt zum download anbieten, php download ordnerinhalt, ordner zum download anbieten, php_self download, pfad download anbieten, ordnerinhalt als textdatei download, ordnerinhalt mit href, ordner auslesen und download anbieten php, php opendir leerzeichen, html dateipfad leerzeichen zeigt, inhaltsverzeichnis ordner download, php datei download anbieten or erzwingen file directory, php echo file path of file download button, a href datei mit leerzeichen download, is_file probleme mit leerzeichen, php ordner inhalt runterladen, root datei download anbieten, php opendir path leerzeichen, php ordnerinhalt zum download anbieten

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.