Name der Upload-Datei in cURL ändern?

8

Ich möchte eine Datei mit cURL hochladen. Da cURL den vollständigen Pfad zur Datei benötigt, ist hier mein Code:

%Vor%

Allerdings wird cURL auch den vollständigen Pfad der Datei im Anforderungsheader posten:

  

Content-Disposition: Formulardaten; name="Datei"; Dateiname="/ Pfad / zu / Datei.ext"

Aber ich möchte, dass es nur

ist
  

Content-Disposition: Formulardaten; name="Datei"; Dateiname="Datei.ext"

Also ändere ich den Code zu

%Vor%

Und dann wirft cURL einfach eine Fehlermeldung

  

konnte die Datei "file.ext"

nicht öffnen

Kann mir bitte jemand sagen, wie es geht?

    
Teiv 28.02.2013, 04:49
quelle

3 Antworten

16

Neue Methode (seit PHP 5.5) mit CURLFile :

%Vor%

verwende es fast genauso:

%Vor%

Alte Methode :

Anstelle von

%Vor%

Sie können cURL anweisen, einen anderen Dateinamen zu verwenden:

%Vor%

Auf diese Weise wird path/to/file.ext als Dateiquelle verwendet, aber file.ext als Dateiname.

Sie werden jedoch einen sehr absoluten Pfad benötigen, so dass Sie wahrscheinlich eine führende / : /path/to/file.ext verpassen. Da Sie PHP verwenden, tun Sie immer eine realpath() :

%Vor%

Oder so ähnlich.

    
Rudie 28.01.2014, 00:36
quelle
9

Bitte korrigieren Sie mich, wenn ich falsch liege, aber der cURL-Upload funktioniert nicht mit dem relativen Pfad. Es braucht immer einen absoluten Pfad, likes

%Vor%

Wenn also jemand den Ort beim Hochladen auf seinem Webserver auf seiner Datei verstecken will, dann verschiebe ihn entweder in einen temporären Ordner oder benutze fsockopen () (siehe Beispiel im Benutzer-Beitrag des PHP Manuals)

    
Teiv 02.03.2013 01:45
quelle
0

Sie müssen die Datei in einen temporären Bereich stellen und dann von dort auf die Datei verweisen, wenn Sie den tatsächlichen Speicherort der Datei verbergen möchten. Leider unterstützt cURL nicht nur das Senden von binären Daten, oder Sie können einfach die base64- oder binäre Datenzeichenfolge anstelle einer Dateinamenreferenz senden.

    
davidethell 28.02.2013 04:56
quelle

Tags und Links