php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.07.2007, 17:59  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
Naja leider gibt es die funktion ftp_is_dir() bei mir nicht.
Bei mir auch nicht. Man sieht aber bei dir genau, dass du das Manual nicht gründlich genug liest, denn dort steht eine Implementierung der Funktion. *grr*

Zitat:
PHP-Code:
ftp_put ($Verbidung_startenstr_replace("|","/",$Pfad).$_FILES['Datei_'.$i]['name'] , $_FILES['Datei_'.$i]['name'] , FTP_BINARY
Wodran könnte das liegen?
Weiß ich ehrlich gesagt nicht, denn mir erschließt sich beispielsweise dein str_replace() nicht. Dein Upload-Prozess scheint aber so zu sein, dass du zunächst Daten per HTTP-Upload hochlädst (du verwendest ja $_FILES) und diese dann anschließend per FTP verschiebst. In diesem Fall wird das schief gehen, denn $_FILES['Datei_'.$i]['name'] enthält nur den Namen der Datei, die hochgeladen wurde, nicht aber den Pfad und geschweige den Namen der Datei, wie sie per HTTP in ein von PHP spezifiziertes Upload-Verzeichnis geschrieben wurde.

Ich empfehle dir dringend das Manual zu lesen, denn meine Hinweise stehen dort 1:1 drinnen. Ausserdem hätte dir ein

PHP-Code:
print_r($_FILES['Datei_'.$i]) 
erraten, warum es nicht geht. Oder spuckt dein PHP keine Fehlermeldungen aus, die du hättest verstehen und zumindestens hier posten können?
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 14.07.2007, 18:25  
Erfahrener Benutzer
 
Registriert seit: 17.04.2006
Beiträge: 133
mokus
Standard

Genau das ist es ja!!!

Ich bekomme keine Fehlermeldung, ausserdem lädt er bestimmte Dateien ja hoch. Als Beispiel

Link.php 5 kb - Lädt er hoch
1.txt 2 kb - Lädt er nicht hoch

Und ohne Fehlermeldung stehe ich im leeren
mokus ist offline  
Alt 14.07.2007, 18:31  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Setz an den Anfang deines Skriptes
PHP-Code:
<?php
error_reporting
(E_ALL E_STRICT);
ini_set('display_errors'1);
?>
Zergling-new ist offline  
Alt 14.07.2007, 18:41  
Erfahrener Benutzer
 
Registriert seit: 17.04.2006
Beiträge: 133
mokus
Standard

...

Es kommt einfach nix, habe zwar andere Fehlermeldungen gesehen und sie behoben, aber sonst nix.
mokus ist offline  
Alt 14.07.2007, 19:07  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo mokus,

ich hab dir doch bereits beschrieben, wie du analysieren kannst, WAS in deinem Script abgeht. Bitte nutze Tools wie var_dump() oder print_r() auch zum Debuggen, sonst kann dir hier keiner helfen. Ich hatte bereits meine Vermutungen geäußert, hellsehen kann ich jedoch nicht, da du mir auch keinen vollständigen Code deines Scripts zur Verfügung stellst oder zum selber debuggen keine Lust hast...
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 14.07.2007, 20:03  
Erfahrener Benutzer
 
Registriert seit: 17.04.2006
Beiträge: 133
mokus
Standard

Werde daraus nicht schlauer, habe jetzt mal die Link.php hochgeladen und einmal die Link.txt die aber nicht funktioniert hat.

Links.php
Code:
array(1) { ["Datei_1"]=>  array(5) { ["name"]=>  string(9) "links.php" ["type"]=>  string(24) "application/octet-stream" ["tmp_name"]=>  string(14) "/tmp/phpmnf2Lu" ["error"]=>  int(0) ["size"]=>  int(40536) } }

Array ( [Datei_1] => Array ( [name] => links.php [type] => application/octet-stream [tmp_name] => /tmp/phpmnf2Lu [error] => 0 [size] => 40536 ) )
Links.txt
Code:
array(1) { ["Datei_1"]=>  array(5) { ["name"]=>  string(9) "links.txt" ["type"]=>  string(10) "text/plain" ["tmp_name"]=>  string(14) "/tmp/phpYlAJmg" ["error"]=>  int(0) ["size"]=>  int(40536) } }

Array ( [Datei_1] => Array ( [name] => links.txt [type] => text/plain [tmp_name] => /tmp/phpYlAJmg [error] => 0 [size] => 40536 ) )
mokus ist offline  
Alt 14.07.2007, 20:56  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

error = 0 heißt, dass kein Fehler aufgetreten ist. Was stellst du denn danach mit der Datei an, kopierst du sie direkt mittels ftp_* oder verschiebst du sie mit move_uploaded_file()?
Welche Argumente übergibst du den Funktionen, was ist ihr Rückgabewert?

Dabei ist nicht interessant, wie im Code dein Funktionsaufruf aussieht, sondern was tatsächlich in den Variablen drinnesteht, das erfährst du einzig über var_dump().

Interessiert uns zwar, ist aber wenig hilfreich, wenn trotzdem Fehler auftauchen:
Code:
move_uploaded_file($pfad . $datei, $neuer_pfad . $neue_datei);
Bringt uns viel weiter:
Code:
$arg1 = $pfad . $datei;
$arg2 = $neuer_pfad . $neue_datei;
$rueckgabewert = move_uploaded_file($arg1, $arg2);
var_dump($rueckgabewert, $arg1, $arg2); // Ausgabe hier posten
Streu am Besten überall in deinem Code var_dump() Ausgaben von Variablen, die dort gerade verwendet werden. Irgendwo muss dir auffallen, dass etwas nicht stimmt.

Ansonsten ist deine Informationspolitik wirklich etwas zu mager und schleppend, das macht das Helfen mühselig, wenn wir zu einer Lösung kommen sollen, musst du schon von dir aus die Sache anpacken und nicht erst nach dreimaligem Auffordern den relevanten Code oder die Ausgaben posten.
Zergling-new ist offline  
Alt 14.07.2007, 22:42  
Erfahrener Benutzer
 
Registriert seit: 17.04.2006
Beiträge: 133
mokus
Standard

So habe den Fehler endlich gefunden, also mit var_dump bin ich nicht weiter gekommen, aber ich habe mal ein bisschen am upload umgeschrieben.

von:
PHP-Code:
ftp_put ($Verbidung_startenstr_replace("|","/",$Pfad2).$_FILES['Datei_'.$i]['name'] , $_FILES['Datei_'.$i]['name'] , FTP_BINARY); 
zu:
PHP-Code:
ftp_put ($Verbidung_startenstr_replace("|","/",$Pfad2).$_FILES['Datei_'.$i]['name'] , $_FILES['Datei_'.$i]['tmp_name'] , FTP_BINARY); 
mokus ist offline  
Alt 14.07.2007, 22:46  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
[..]aber ich habe mal ein bisschen am upload umgeschrieben.
Ich hoffe nur, dass du dir das Manual zu diesem Thema ausführlich durchgelesen hast, denn sonst machst du den Fehler sicher nochmal...
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 14.07.2007, 23:39  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von mokus
So habe den Fehler endlich gefunden, also mit var_dump bin ich nicht weiter gekommen, aber ich habe mal ein bisschen am upload umgeschrieben.
Wärst du, hättest du dir mal - mit var_dump() - angeschaut, was in $_FILES['Datei_'.$i]['name'] drinsteht. Einfach mal machen, was dir hier im Forum geraten wird .. Ich verstehe nicht warum ihr hier sonst fragt.
Zergling-new 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
Zugriff mit session auf Ordner begrenzen Diego1978 PHP Tipps 2008 1 08.07.2008 06:38
[Erledigt] PHP -&gt; Ordner anlegen der sich auch beschreiben lässt?! Nightuser PHP Tipps 2008 13 30.06.2008 23:51
Serverbeschränkung (Ordner beschränkung) triopsi Server, Hosting und Workstations 2 29.04.2008 17:07
Ordner an ganz anderer Stelle mit mkdir() dethlef14 PHP Tipps 2006 2 11.10.2006 22:42
TreeMenu Fatal Error PHP Tipps 2006 8 07.04.2006 11:22
images ordner schützen? Promaetheus PHP Tipps 2006 2 02.01.2006 20:23
Ordner auf Inhalt prüfen Juuro PHP Tipps 2005-2 10 20.07.2005 19:22
Ordner auslesen - Zusätzliche Bildplatzhalter PHP Tipps 2005 8 21.05.2005 12:25
Kann keine Datei im eigens erstellten Ordner anlegen PHP Tipps 2005 8 11.03.2005 21:03
Ordner erstellen und Datei uploaden Juuro PHP Tipps 2005 6 20.01.2005 21:18
kompletten Ordner löschen??? 18inch PHP Tipps 2004 5 03.09.2004 09:52
ordner in einem verzeichnis auslesen und anzeigen lindner PHP Tipps 2004 5 19.08.2004 00:03
WebFTP: php denkt die ordner wären dateien... phpfortgeschrittener PHP Tipps 2004 15 09.08.2004 18:38
Ordner Auslesen PHP Tipps 2004 3 03.07.2004 09:17
Ordner lesen --> Baumstruktur --> Problem PHP Tipps 2004 0 30.06.2004 17:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
triopsi ini_set, ftp ordner löschen, http://www.php.de/php-tipps-2007/44355-ftp-ordner-loeschen-2.html, datei rekursiv aus verzeichnis löschen ftp

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