2017-03-07 21 views
1

私はとても近いです。私は自分のDropboxにファイルをアップロードするフォームを作成しようとしています、と私はそれがここにコードをサーバー上のファイルを使用して動作するように取得することができます。ファイルFORM with PHPからDropboxにアップロード

$path = 'render.png'; 
$fp = fopen($path, 'rb'); 
ch = curl_init('https://content.dropboxapi.com/2/files/upload'); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_PUT, true); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 
curl_setopt($ch, CURLOPT_INFILE, $fp); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($ch);curl_close($ch); 
echo $response; 

私はこれが仕事と確信していたが、ハズレ.....

$fp = fopen($_FILES['file'], 'rb'); 

誰でも簡単に修正できますか?

+0

あなたが承認しましたか? – RiggsFolly

+0

はい私はヘッダーで他のコードを持っています。一番上のコードは、 'render.png'ファイルをアップロードします。問題は、$ _FILES ['file']という形式からファイルを取得することです。私はサーバー上に空のファイルを取得します。 –

+0

HTMLのファイルの入力の名前は何ですか – RiggsFolly

答えて

1

これは、あなたはそれがその一時フォルダ内のPHPは場所の一時ファイルの場所であるとして、$ _FILESからtmp_nameフィールドを使用する必要がありますあなたの問題

$fp = fopen($_FILES['file'], 'rb'); 

です。 'fred'

<input type="file" name="fred".....` 
        ^^^^^^^^^^^ 
+0

ありがとうございます!本当にシンプルなものが欠けていることは分かっていました。 –

0

name属性の値をある

$fp = fopen($_FILES['fred']['tmp_name'], 'rb'); 

はFlysystemを見てみましょう。私はLaravelと一緒に使っていますが、スタンドアロンとしても機能していると思います。

http://flysystem.thephpleague.com/

関連する問題