KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm building an API in PHP. One of the methods is place.new (PUT request). It expects several string fields, and it also expects an image. However I can't get it working. With a POST request it was easy, but I'm not sure how to do it with a PUT and how to get the data on the server. thanks for the help! Test CURL code $curl = curl_init(); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_BINARYTRANSFER, 1); curl_setopt($curl, CURLOPT_URL, $this->url); curl_setopt($curl, CURLOPT_PUT, 1); curl_setopt($curl, CURLOPT_INFILE, $image); curl_setopt($curl, CURLOPT_INFILESIZE, filesize($image)); $this->result = curl_exec($curl); curl_close($curl); Server code if ( $im_s = file_get_contents('php://input') ) { $image = imagecreatefromstring($im_s); if ( $image != '' ) { $filename = sha1($title.rand(11111, 99999)).'.jpg'; $photo_url = $temp_dir . $filename; imagejpeg($image, $photo_url); // upload image ... } } Solution send // Correct: /Users/john/Sites/.... // Incorrect: http://localhost/... $image = fopen($file_on_dir_not_url, "rb"); $curl = curl_init(); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_BINARYTRANSFER, 1); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_PUT, 1); curl_setopt($curl, CURLOPT_INFILE, $image); curl_setopt($curl, CURLOPT_INFILESIZE, filesize($file_on_dir_not_url)); $result = curl_exec($curl); curl_close($curl); receive /* Added to clarify, per comments */ $putdata = fopen("php://input", "r"); /* Open a file for writing */ $fp = fopen($photo_url, "w"); /* Read the data 1 KB at a tim
Tags (comma-separated)
Save Edits
Cancel