Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » Codeschnipsel » File Transfering(FTP!)    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
realyreal22
Mitglied
Guter User


Dabei seit: 06.12.2008
Herkunft:
Posts: 255
     File Transfering(FTP!) Zitat | Bearbeiten

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
 
}

?>







Post wurde schon 4x editiert, das letzte mal am 27.06.2009 um 21:12 von Andavos
25.06.2009, 19:19 Profil | PM | E-Mail  


Neuling


Dabei seit: 01.01.1970
Herkunft:
Posts:
      Zitat | Bearbeiten

Und wo ist jetzt genau der zusammenhang?
Ich denke mal wenn du eine Umfrage mit eingebracht hättest hättest du mehr Schlecht als Gut!

Soll jetzt nicht herabwürgend sein oder so, aber ich meine es nur zum guten!


28.06.2009, 04:22 Profil | PM | E-Mail  
Gast


      Zitat | Bearbeiten

Zitat:
Orginal von PHPexpert
Ich denke mal wenn du eine Umfrage mit eingebracht hättest hättest du mehr Schlecht als Gut!

Soll jetzt nicht herabwürgend sein oder so, aber ich meine es nur zum guten!



Kennst dich aus! Wa?
Also kleiner Tip: "Wer selbst im Glashaus sitzt, sollte NIE mit Steinen werfen!"


28.06.2009, 10:31  
Gast


      Zitat | Bearbeiten

Zitat:
Orginal von PHPexpert
Und wo ist jetzt genau der zusammenhang?
Ich denke mal wenn du eine Umfrage mit eingebracht hättest hättest du mehr Schlecht als Gut!

Soll jetzt nicht herabwürgend sein oder so, aber ich meine es nur zum guten!


Naja... Ich sag jetzt mal nix zu deinen Code schnipseln



28.06.2009, 10:50  
realyreal22
Mitglied
Guter User


Dabei seit: 06.12.2008
Herkunft:
Posts: 255
      Zitat | Bearbeiten

Zitat:
Orginal von PHPexpert
Und wo ist jetzt genau der zusammenhang?
Ich denke mal wenn du eine Umfrage mit eingebracht hättest hättest du mehr Schlecht als Gut!

Soll jetzt nicht herabwürgend sein oder so, aber ich meine es nur zum guten!


Hm... Dann hätte ich mal ne Frage: Was ist daran so schlecht?


28.06.2009, 11:03 Profil | PM | E-Mail  
Vielgeist
Mitglied
Exzellenter User


Dabei seit: 26.12.2008
Herkunft: Berlin
Posts: 1371
      Zitat | Bearbeiten

Mir kommt der merkwürdig bekannt vor.

ich guck mal ob ich das noch bei Google finde.


CONTEMPLATION

If today was perfect, there would be no need for tomorrow.


Mein Youtube Channel
28.06.2009, 14:58 Profil | PM | E-Mail  
niccommander
Mitglied
Guter User


Dabei seit: 20.12.2007
Herkunft:
Posts: 270
      Zitat | Bearbeiten

Zitat:
Orginal von Vielgeist
Mir kommt der merkwürdig bekannt vor.

ich guck mal ob ich das noch bei Google finde.




Zitat:
/*********************
FILE Transfer
by DRS Live
**********************/



und PHPexpert machs besser, komm mach deinem Namen mal Ehre




28.06.2009, 19:59 Profil | PM | E-Mail  
Gast


      Zitat | Bearbeiten

Zitat:
Orginal von Vielgeist
Mir kommt der merkwürdig bekannt vor.

ich guck mal ob ich das noch bei Google finde.


Kann sein... Wegen den Exception evntll.

Die habe ich alle in einer externen Datei, von der ich einige Stellen immer heraus kopiere, weil ich keine Lust habe sie immer nachzuschreiben


28.06.2009, 20:28  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » Codeschnipsel » File Transfering(FTP!)   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz