RSS Feed

Problem Upload File Menggunakan CURL PHP di UNIX System

Posted on

Secara default, fitur CURL sudah diaktifkan di PHP. Fitur ini sangat berguna buat webservice. Namun saya mengalami stuck di satu masalah meski masalah ini tidak hadir pas saya run di Windows. Masalahnya adalah, ketika kita ngirimin file via CURL, si file ga berhasil terkirim. Errornya:

failed creating formpost data

Hampir 12 jam, saya mencari sebab serta mencari alasan supaya tercapai hasratmu… manis di bibir… haha.. kembali ke laptop!

Ini sciptnya: (sorry ga bisa copas skrip ke mari jadi di-printscreen aja)
Dan ini script untuk menghandel processnya, curlprocess.php:

Hasilnya:

response: bool(false)
code: array(21) { ["url"]=> string(48) "http://danareksadebtresearch.com/curlprocess.php" ["content_type"]=> NULL ["http_code"]=> int(0) ["header_size"]=> int(0) ["request_size"]=> int(0) ["filetime"]=> int(-1) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(0.00047) ["namelookup_time"]=> float(0.000272) ["connect_time"]=> float(0.000424) ["pretransfer_time"]=> float(0.000426) ["size_upload"]=> float(0) ["size_download"]=> float(0) ["speed_download"]=> float(0) ["speed_upload"]=> float(0) ["download_content_length"]=> float(-1) ["upload_content_length"]=> float(-1) ["starttransfer_time"]=> float(0) ["redirect_time"]=> float(0) ["certinfo"]=> array(0) { } }
error: string(29) "failed creating formpost data"

Saya baca-baca di internet, itu dikarenakan file sumber harus fullpath. Padahal saya sudah fullpath tapi tetep ga bisa. Kemudian, saya coba yang nama file aja yang disimpan di direktori yang sama dengan file di atas, contohnya kebetulan ada file bernama “erlog.txt” (uncomment baris 7 yang ada erlog.txt nya dan comment baris 6 yang ada file.pdf nya di skrip pertama di atas). Ternyata…. sukses, bray…. Hasilnya seperti ini:

response: string(325) "
file: array(1) { ["file"]=> array(5) { ["name"]=> string(9) "erlog.txt" ["type"]=> string(24) "application/octet-stream" ["tmp_name"]=> string(26) "/private/var/tmp/phpz9PviF" ["error"]=> int(0) ["size"]=> int(0) } }
name: array(1) { ["name"]=> string(7) "Filenya" } "
code: array(21) { ["url"]=> string(48) "http://danareksadebtresearch.com/curlprocess.php" ["content_type"]=> string(9) "text/html" ["http_code"]=> int(200) ["header_size"]=> int(246) ["request_size"]=> int(209) ["filetime"]=> int(-1) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(0.066082) ["namelookup_time"]=> float(0.000293) ["connect_time"]=> float(0.000438) ["pretransfer_time"]=> float(0.000439) ["size_upload"]=> float(301) ["size_download"]=> float(325) ["speed_download"]=> float(4918) ["speed_upload"]=> float(4554) ["download_content_length"]=> float(325) ["upload_content_length"]=> float(301) ["starttransfer_time"]=> float(0.018389) ["redirect_time"]=> float(0) ["certinfo"]=> array(0) { } }
error: string(0) ""

Apakah ini culprit-nya? Jangan fullpath? Itu tidak make-sense. Kemudian saya check permission-nya… Dan dialah pelakunya!!!!!!

Yang di file /Users/faridabdurrahman/Documents/file.pdf ini permissionnya: drwx——+
Sedangkan di file erlog.txt, permissionnya: drwxr-xr-x

Culpritnya —-> Permisson!!

Di Windows kenapa selalu berhasil ngambil file dari mana aja, karena permissionnya boleh untuk semua. Sementara di UNIX (yang termasuk OSX), permission sumber file yang ingin diuppload mesti diperhatiin.

Alhamdulillaah problem resolved!!!

Sekian sharing dari aku buat saya, semoga bermanfaat bagi nusa dan bangsa serta agama dan lingkungan!

About mangkum

Models maker and fans: building view-controller-models, financial models, statistical models and a fan of super models.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: