php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.10.2010, 07:49  
Benutzer
 
Registriert seit: 26.07.2008
Beiträge: 49
iits befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] cURL Upload Probleme bei unterschiedlichen Servern

Hallo,
ich habe eine Joomla Erweiterung geschrieben die Dateien bei Dropbox runter und hochladen kann.
Die Kommunikation zu Dropbox läuft per cURL.
Um Dateien hochzuladen benutze ich
PHP-Code:
$filename="/var/www/htdocs/a-1.txt";
curl_setopt($chCURLOPT_POSTFIELDS"@$filename"); 
Zusätzlich muss ich eine Signatur berechnen und mitschicken (oauth)

Auf den meisten Server funktioniert es aber manchmal auch nicht. Dropbox meckert über meine Signatur. Teilweise möchte Dropbox den Pfad drinnhaben und teilweise nicht. Da die Gegenstelle (der Dropbox Server) nur das über meine Datei wissen kann was ich ihm sende vermute ich dass cURL je nach Version oder Server die Daten anders sendet.

auf meinem lokalen Server sieht ein wireshark Mitschnitt so aus:

PHP-Code:
------------------------------7d196756d9cb 
Content
-Dispositionform-dataname="file"filename="a-1.txt" 
Content-Typetext/plain 
 
aaaaaaaaaaaaa
 
------------------------------7d196756d9cb-- 
Weiss jamend ob es PHP / cURL Versionen gibt die beim filename auch noch den Pfad mitsenden?

Konfiguration mit der es geht:
-PHP Version 5.2.10-2ubuntu6.5
-Linux Rechner1-Ubuntu 2.6.31-22-generic #67-Ubuntu SMP Sat Oct 16 19:10:07 UTC 2010 i686
-cURL Information: libcurl/7.19.5 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.15

aber auf diesem Server geht es nicht (anscheinend wir der Pfad mitgesendet)
- PHP Version 5.3.2-1+0byte2
- Linux web5 2.6.32-3-686-bigmem #1 SMP Thu Feb 25 06:54:30 UTC 2010 i686
- cURL Information: 7.18.2

Leider kann ich auf dem Server auf dem es nicht funktioniert kein wireshark o.Ä. laufen lassen. Oder gibt es eine andere Möglichkeit rauszufinden was genau als form-data gesendet wird?

Vielen Dank im Vorraus!
iits ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 22.10.2010, 10:18  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von iits Beitrag anzeigen
Zusätzlich muss ich eine Signatur berechnen und mitschicken (oauth)

Auf den meisten Server funktioniert es aber manchmal auch nicht. Dropbox meckert über meine Signatur. Teilweise möchte Dropbox den Pfad drinnhaben und teilweise nicht.
Was heißt teilweise und teilweise nicht?
Was sagt deren Dokumentation dazu?

Zitat:
aber auf diesem Server geht es nicht (anscheinend wir der Pfad mitgesendet)
Den Schluss, dass das der Fall ist und dass das die Ursache des Problems ist, hast du woraus gezogen?

Zitat:
Leider kann ich auf dem Server auf dem es nicht funktioniert kein wireshark o.Ä. laufen lassen. Oder gibt es eine andere Möglichkeit rauszufinden was genau als form-data gesendet wird?
Request an eigenes Script machen, und dort die übergebenen Daten anzeigen lassen ...?
Ggf. Raw POST Data betrachten.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 25.10.2010, 15:42  
Benutzer
 
Registriert seit: 26.07.2008
Beiträge: 49
iits befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Was heißt teilweise und teilweise nicht?
Was sagt deren Dokumentation dazu?
Die Doku sagt dass die Signatur aus den mitgesendeten Felder gebildet wird. u.A. dem Dateinamen

Ich habe jetzt mal den Request vom Server auf meine lokalen PC geschickt (per dyndns.org) und ihn dort wieder mit wireshark abgefangen und siehe da, es wird der absolute Pfad mitgesendet:

PHP-Code:
------------------------------b972a959726a 
Content
-Dispositionform-dataname="file"filename="/home/users/clevoftp/cleverinsert.com/tmp/a-1.txt" 
Content-Typeapplication/octet-stream 
 
aaaaaaaaaaaaa
 
------------------------------b972a959726a-- 
Ich kann mit beiden Möglichkeiten leben, nur muss ich PHP zwingen sich für eine zu entscheiden, oder voraussagen können wann welche genommen wird.
iits ist offline   Mit Zitat antworten
Alt 25.10.2010, 18:11  
Benutzer
 
Registriert seit: 26.07.2008
Beiträge: 49
iits befindet sich auf einem aufstrebenden Ast
Standard

Das Problem war wohl ein Bug in PHP: http://bugs.php.net/48962

wo er gefixt ist sendet cURL ohne ;filename= den ganzen Pfad. Meine Lösung also:


PHP-Code:
 if (version_compare(PHP_VERSION'5.3.1') >= ||
                (
version_compare(PHP_VERSION'5.3.0') < && version_compare(PHP_VERSION'5.2.11') >=)) 
                {
                
$arguments=array('file' => '@'.realpath($file).';filename='.JFile::getName($file));
            }
            else 
                
$arguments=array('file' => '@'.realpath($file)); 
iits ist offline   Mit Zitat antworten
Antwort


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
[Erledigt] Upload mit curl vollkommenegal PHP-Fortgeschrittene 10 12.08.2010 17:52
curl POST upload und dann ansehen lockdoc PHP Tipps 2009 1 13.10.2009 12:59
Upload Probleme Kein Genie PHP Tipps 2009 3 07.06.2009 10:49
CURL Upload (http) margre PHP Tipps 2009 2 31.03.2009 14:29
Curl File Upload scrippi PHP-Fortgeschrittene 19 27.03.2009 17:47
Upload Probleme mit XAMPP Octavian PHP Tipps 2009 9 24.03.2009 10:19
Upload Script hat Probleme mit versch. Browsern [MimeType] fdm PHP Tipps 2008 11 27.07.2008 23:35
Datei Upload mit curl? R.E.M. PHP Tipps 2006 1 18.09.2006 20:44
Probleme mit pic upload. PHP Tipps 2006 4 09.03.2006 11:35
Probleme nach upload auf neuem Server. PHP Tipps 2006 4 16.02.2006 16:46
probleme mit rechten => datei upload ph!l PHP Tipps 2005-2 5 29.09.2005 10:12
[Erledigt] Bildergalerie Gallery 1.5-pl1 + Bilder upload Probleme !!!! PHP Tipps 2005-2 6 01.09.2005 23:22
bildausgabe in txt bei upload / 2 probleme PHP Tipps 2005 1 04.02.2005 09:03
Probleme mit Datei Upload PHP Tipps 2004-2 2 28.11.2004 16:37
Datei Upload mit PHP - Probleme PHP Tipps 2004 12 04.06.2004 12:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
curl file upload, curlopt_postfields file real name, php curl file upload, mit curl upload text/plain, curl upload ohne path, curl filename php, curl php upload problem, curl schickt mehrere content-type, dropbox curl joomla, curl php fileupload content-disposition, libcurl dropbox, dropbox upload php, curl -d name@file, curl php upload, content-disposition: form-data; name=\ curl, curl upload from a server to a server, curl ohne dateinamen, wie sendet curl eine datei, perl curl form file upload curlopt_postfields, curl files upload

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