PHP-Einfach.de PHP lernen leicht gemacht

Navigation
» Startseite
» Newsübersicht
» Kontakt
» Impressum

Community
» Forum
» Gästebuch

Tutorial
» PHP Tutorial
» MySQL Tutorial
» PHP
» MySQL
» Codeschnipsel

Downloads
» Einführung
» Scripts
» Command Board

Sonstiges
» md5-Generator
» Generator
» Wissenswertes

PHP lernen


Dieses Projekt wird unterstützt von
Lichteffekte Shop

 
Partner:
Mathe Nachhilfe
Suchmaschinenoptimierung
PHP Forum

File Transfering(FTP!)

Zurück zur Übersicht

Umgang mit der FTP Funktionalität von PHP.

Achtung, diese Funktion könnt ihr nur anwenden wenn ihr FTP bei PHP aktiviert habt.

Das Script ist leicht zu verstehen und auch leicht anzuwenden.
Als erstes ändert ihr die FTP Daten(Zeile 11-13)

Dann könnt ihr die Datei hochladen und ihr müsst sie so aufrufen um eine Datei herunterzuladen:

download.php?sid=DATEINAME.ENDUNG

Das war's.

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:

<?php

 
/*********************
  FILE Transfer
  by DRS Live
 **********************/
 /***********
  BITTE EDITIEREN
 ***********/ 
$host ''// FTP Hostname
$user ''// FTP username
$password ''// FTP passwort
/*************************
     ENDE 
************/

// EXCEPTIONS
class fileOpenException extends Exception // Andere
{
    function 
__toString()
    {
        return 
'fileOpenException ' $this->getCode()
         . 
': ' $this->getMessage() . '<br />' ' in der Datei '
         
$this->getFile() . ' in Zeile ' $this->getLine()
         . 
'<br />';
    }
}

class 
fileWriteException extends Exception // geschützte Dateien
{
    function 
__toString()
    {
        return 
'fileWriteException ' $this->getCode()
         . 
': ' $this->getMessage() . '<br />' ' in der Datei '
         
$this->getFile() . ' in Zeile ' $this->getLine()
         . 
'<br />';
    }
}

class 
fileLockException extends Exception // gesperrte Dateien
{
    function 
__toString()
    {
        return 
'fileLockException ' $this->getCode()
         . 
': ' $this->getMessage() . '<br />' ' in der Datei '
         
$this->getFile() . ' in Zeile ' $this->getLine()
         . 
'<br />';
    }
}
 @
$sid trim($_GET['sid']); // get variabel
 
@$sid htmlspecialchars($sid); // in htmlspecialchars nocheinmal
 
 
if(defined(ERROR))
 {
 print(
ERROR);
 exit;
 } 
// Error anzeigen

//Host verbinden
$conn ftp_connect($host) or die('Sie haben wohl diese Funktion(ftp_connect) nicht auf dem Webserver installiert...'); // Schließe Verbindung
if(!$conn// Wenn Verbindung scheitert
{
define(ERROR'<b>Fehler:</b> Konnte keine Serververbindung herstellen.<br />');
exit;
}

//Host anmelden
$result = @ftp_login($conn$user$password);
if(!
$result// Bei Fehlern an der Anmeldung

define(ERROR'<b>Fehler:</b> Anmeldung als $user nicht möglich.<br />');
ftp_quit($conn); // Schließe Verbindung
exit;
}

 if(isset(
$sid)) {
  
try {
    if (!(
$fp = @fopen("$sid"'ab'))) // Öffne Datei
        
throw new fileOpenException(); // Prüft ob man Datei öffnen kann

    
if (!flock($fpLOCK_EX))
        
throw new fileLockException(); // Prüft ob Datei gesperrt ist

    
if (!fwrite($fp$outputstringstrlen($outputstring)))
        
throw new fileWriteException(); // Prüft ob Datei Schreibgeschützt ist
                                        // Falls man nicht möchte, dass andere
                                        // Das herunterladenflock
    
fclose($fp); // Schließe Datei
     
     
$fp fopen($sid'w'); // Öffne Datei für den Download
     
if(!$success ftp_get($conn$p$sidFTP_BINARY)) { // Falls es Probleme bei Download gab
     
define(ERROR'<b>Fehler:</b> Datei konnte nicht heruntergeladen werden.');
     
ftp_quit($conn); // Schließe Verbindung
     
exit;
     }
     
fclose($fp); // Schließe Datei
     
     
}
// Exceptions anzeigen
catch (fileOpenException $foe) {
    echo 
'<b>Die Datei konnte nicht geöffnet werden.  '
     
'Benachrichtigen Sie bitte den Webmaster.</b>';

catch (Exception $e) {
    echo 
'<b>Leider können wir ihren Download zurzeit nicht bearbeiten.  '
     
'Bitte versuchen Sie es später noch einmal.</b>';
}
 }
 else
 {
 
define(ERROR'Keine Datei wurde angegeben.'); // Falls keine Datei angegeben wurde
 
}

?>




Kommentare

Zurück zur Übersicht

Autor realyreal22

News
13.08 - » Spam im Gästebuch
Endlich Schluss mit dem Spam

08.12 - » Clanletter 2.0
Clanletter wurde komplett neu programmiert

01.09 - » Command Board 1.0 - 2.0
Das Command Board 1.0 Beta 2.0 ist erschienen


Mehr

Forum
» Prinzip des Kampfsystemes kurz un ...

» Facebook Connect

» Geometrische Formen verlinken







© PHP-Einfach.de 2003 - 2010