PHP CURL + $ GLOBALS ["HTTP_RAW_POST_DATA"]

1 Cevap php

Ben bir servise dosya yüklemek için CURL kullanıyorum.

Şu anda ben ["HTTP_RAW_POST_DATA"] $ GLOBALS ile dosya içeriğini alıyorum sonra benim sunucusuna kaydetmek.

after that, I'm using CURLOPT_POSTFIELDS with the file's full path. Is there a way to send the file content directly, without saving it on my server, as if I saved it?

Ya da sunucu üzerinde kaydetmeden, facebook albüme bir flash uygulaması bir Fotoğraf yüklemek için bir yolu var mı?

Teşekkürler

1 Cevap

Veri karşıya iseniz http://php.net/manual/en/features.file-upload.php otomatik dosya yükleme PHP handls PHP dosya yükleme mekanizmasını kullanarak düşünebilirsiniz.

If you want to redirect the upload to another (third party service) without needing to be in the chain of commands (i.e. user->3rd party server), you might want to look into AJAX. AFAIK when you upload a file using PHP/forms the file will be uploaded to your PHP temp directory and there is no way to prevent this because:
1. To access the file it needs to be on the server (PHP is server execute meaning it can not execute on the user side)
2. I do not believe any user will want you to access their files on their computer nor will you be able to do so(Firewall, AV), if that were to happen it will be a major security issue

Yukarıda söylediğim gibi, ne içine bakmak istiyorum (Jquery kullanılır ve onların AJAX yöntemleri çok basit) AJAX. AJAX kullanıcı javascript çalıştırmak olduğu için makine üzerinde çalıştırmak ve herhangi bir URL için bir bağlantı başlatabilir. Bu şekilde doğrudan sunucuya dosyayı vermeden hizmet erişebilirsiniz.

Here is an exmaple AJAX upload (you can google for more): http://valums.com/ajax-upload/

Umarım bu yardımcı olur