php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.10.2005, 09:28  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard upload script auf FTP umgebaut, jetzt gehts nicht mehr =(

also erstmal das script

es sind 2 Dateien.

upload_ftp.php:
PHP-Code:
<?php

if ($senden) {
     include (
'/includes/ftp_connect.php');
     
//Variablen definieren
     
$uploaddir "upload/";     //Ordner für den Upload bestimmen
     
$sizeabfrage "yes";      //Dateigrösse überprufen? (yes/no)                             
     
$size "30000";           //maximale Dateigrösse in Byte                                
                               
     
$body="<html><body bgcolor=#FFFFFF text=#000000>";
     if (
$_FILES['file']['name'] == "") {
        echo 
$body;
        die(
"Keine Datei gewählt.");
        echo 
"[url='upload_ftp.php']<< zurück[/url]";
     }
     if (
file_exists($uploaddir.$_FILES['file']['name'])) {
        die(
$body."Datei bereits vorhanden. 
[url='upload.php']<< zurück[/url]"
);
     }
     if (
$sizeabfrage == "yes") {
        if (
$_FILES['file']['size'] > $size) {
           echo 
$body;
           die(
"Die Datei ist zu groß !");
           echo 
"[url='upload_ftp.php']<< zurück[/url]";
        }
     }

     
//Verzeichnis wechseln
     
ftp_chdir($uploaddir);
     
     
$source $_FILES['file']['name'];
     
$destination $source;
     
     
// Upload der Datei
     
$upload ftp_put($conn_id$destination,$sourceFTP_BINARY); 
     
     
// Upload-Status überprüfen
     
if (!$upload) { 
        echo 
"Ftp upload war fehlerhaft!";
     } 
     else {
        echo 
"Datei $source_file auf $ftp_server als $destination_file geschrieben [url='upload_ftp.php']<< zurück[/url]";
     }
     
// Schließen des FTP-Streams
     
ftp_quit($conn_id); 
     }
     else {
?>

<html>
<body bgcolor=#FFFFFF text=#000000 link=#ccff88 vlink=ccff88 alink=#ccff88>
<form action="<?php $PHP_SELF?>"method="post" enctype="multipart/form-data">


Bitte Datei auswählen:

<input type=file name=file>



  <button name="senden" type="submit">Hochladen</button>


Dokumentname darf nicht mehr als 31 Zeichen beanspruchen (inkl. Suffix).

Erlaubte Zeichen: Ziffern, Buchstaben (exkl. Umlaute und Akzente, z.B. &auml;, &Eacute; usw.), Trennstriche. 

Bitte keine Interpunktionen verwenden; ausser Punkt zur Trennung von Name und Dokument-Kennzeichnung (z.B. name.pdf).
</form>
</body>
</html>

<?
     
}
?>  

</body>
</html>
ftp_connect.php (befindet sich im Ordner includes:

PHP-Code:
<?php
$ftp_server 
"*****";
$ftp_user_name "*****";
$ftp_user_pass "*****";

// Herstellen der Basis-Verbindung
$conn_id ftp_connect($ftp_server); 

// Einloggen mit Benutzername und Kennwort
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass); 

/*
// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) { 
        echo "Ftp-Verbindung nicht hergestellt!";
        echo "Verbindung mit $ftp_server als Benutzer $ftp_user_name nicht möglich"; 
        die; 
    } 
    else {
        echo "Verbunden mit $ftp_server als Benutzer $ftp_user_name";
    }
*/

?>
Die FTP Verbindung funktioniert (deswegen jetzt ausdokumentiert)

es geht drum, jedesmal wen ich die Datei hochladen will kommt die meldung Ftp upload war fehlerhaft!
ich glaube der Fehler ist bei ftp_put()...

noch was, die Dateien müssen im Ordner "upload" hochgeladen werden. hoffe jemand kann mir helfen.
kann mir jemand helfen? fals ja was muss angepasst werden?
dsmcg ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 24.10.2005, 10:21  
Erfahrener Benutzer
 
Registriert seit: 24.08.2003
Beiträge: 714
Ashergul
Standard

wird nicht funktionieren....
die ftp funktionen von php sind nicht was du denkst: von lokal<->phpserver
sondern von ftp-server<->phpserver
__________________
mfg Floh

Programmers don't die, they GOSUB without RETURN
Ashergul ist offline  
Alt 24.10.2005, 10:21  
Gast
 
Beiträge: n/a
Standard

Zur Info, die beim http upload hochgeladene Datei ist eine temporäre -> $_FILES['datei']['tmp_name']
http://www.php.net/manual/de/features.file-upload.php

Also noch mal die Pfade & Sourcen prüfen

Viel Erfolg

gerdi :wink:
 
Alt 24.10.2005, 10:36  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

achso! dann kann man also gar nicht von einem client mit hilfe von PHP über FTP übertragen? das geht nur von FTP server zu FTP server?

schade =(

fals es doch eine möglichkeit geben würde FTP zu benutzen gibt mir bescheid!
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 24.10.2005, 11:01  
Gast
 
Beiträge: n/a
Standard

Das, was du da vorhast, ist schon ok. Sobald das Formular abgeschickt wird, wird eine temporäre Datei auf dem Server abgelegt. Wenn du dann statt move_uploaded_file die Datei per ftp-Funktionen verschiebst, hast du somit das Problem mit dem Eigentümer und Rechten der Datei umgangen. Wie Gerdi schon geschrieben hat, du hast einen Fehler bei den Namen, source und destination können hierbei nicht identisch sein, du willst ja vom Temp-File aus die neue Datei erstellen.

Gruß
phpfan
 
Alt 24.10.2005, 11:04  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

ja das meine ich, ich versteh das ftp_put() nicht ganz, daher möchte ich euch ja fragen ob ihr mir nicht den Befehl sagen könnt.

es geht darum
das temp file soll einfach in den Ordner "upload" hochgeladen werden und dort einen anderen Namen bekommen (irgendeinname) ich kann ja den Rest dann anpassen
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 24.10.2005, 11:09  
Gast
 
Beiträge: n/a
Standard

Och büdde, was ist daran nicht zu verstehen:

int ftp_put ( int ftp_stream, string remote_file, string local_file, int mode )

Stream und Mode dürften klar sein, jetzt kannst du schlimmstenfalls remote_file und local_file vertauschen. So, das kann man aber, wennn man das nicht verstanden hat, mit ausprobieren hinbekommen, oder? Also einmal $_FILES['file']['name'] und $_FILES['file']['tmp_name']

Gruß
phpfan
 
Alt 24.10.2005, 11:13  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

habs mal so gemacht:

PHP-Code:
<?php
     
// Upload der Datei
     
$upload ftp_put($conn_id$_FILES['file']['tmp_name'] ,  $_FILES['file']['name'], FTP_BINARY); 
?>
funktioniert trotzdem nicht (gleiches Problem wie beim esten post..), und es wird ja auch nicht in den Ordner "Upload" gesteckt, besser gesagt es wird gar nirgends gesteckt.

Ich meine da es ja für euch so einfach ist, wäre es doch besser kurz die codezeile zu posten damit ich es einfach nachvollziehen kann, da ich eigentlich seit dem Freitag am rumprobieren bin..
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 24.10.2005, 11:52  
Gast
 
Beiträge: n/a
Standard

Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

Gruß
phpfan
 
Alt 24.10.2005, 11:57  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

ich bin bei schritt 6, und warte auf hilfe weil ja anscheinend du die Lösung weist aber nicht helfen wilst
und man mal wieder wie typisch in Foren in solch eine Diskussion reingerät anstelle einfach den anderen Leuten zu helfen.

ich meine der eine sagt es gar nicht das ü¨ber FTP zu übertragen, andere wieder nicht. dann kommen Leute die den Fehler kennen aber ned helfen. =( ach mensch ist es den zu viel verlangt?
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
 


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
Upload Script hat Probleme mit versch. Browsern [MimeType] fdm PHP Tipps 2008 11 27.07.2008 23:35
Upload Script andi PHP Tipps 2008 2 17.07.2008 22:43
Upload Script + Multible Server cyberstorm PHP Tipps 2006 5 11.10.2006 19:43
Probelem bei meinem Upload Script für Bilder wiegia086 PHP Tipps 2006 3 17.03.2006 09:14
Daten Upload Script Hilfe!! PHP Tipps 2007 9 29.12.2005 10:39
Suche Upload Script Beitragsarchiv 1 20.07.2005 15:26
Upload Script PHP Tipps 2005-2 8 01.07.2005 08:45
upload script ändern PHP Tipps 2005 30 23.03.2005 20:30
suche upload script Beitragsarchiv 6 14.02.2005 22:25
Upload Script funktioniert lokal nicht?! TheTommynator PHP Tipps 2005 16 22.01.2005 23:42
Upload Script. PHP Tipps 2004 4 05.11.2004 10:53
Ich bin auf der Suche nach einem fertigen Menü Upload Script Beitragsarchiv 7 22.08.2004 18:53
Upload mit Fehlermeldung "The script whose uid is 982 i PHP Tipps 2004 2 06.07.2004 13:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php ftp upload script, ftp upload php script, ftp upload script php, php script ftp upload, php upload script ftp, och upload script, einfaches ftp upload script, http://www.php.de/php-tipps-2005-2/32880-upload-script-auf-ftp-umgebaut-jetzt-gehts-nicht-mehr.html, upload script php ftp, upload script och, einfaches ftp php script, upload script für och, ftp upload mit php script, ftp php upload script, ftp datei upload php script, einfaches upload script php ftp, maximale größe html-body, javascript ftp upload, javascript ftp upload php, upload skripte och

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:46 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.