diff --git a/php_neo_wrapper.php b/php_neo_wrapper.php new file mode 100644 index 0000000..2429852 --- /dev/null +++ b/php_neo_wrapper.php @@ -0,0 +1,82 @@ +flask_api_url = $flask_url; + } + + public function uploadFile($file, $folder = 'uploads') { + $curl = curl_init(); + + $postData = array( + 'file' => new CURLFile($file['tmp_name'], $file['type'], $file['name']), + 'folder' => $folder + ); + + curl_setopt_array($curl, array( + CURLOPT_URL => $this->flask_api_url . '/api/upload', + CURLOPT_RETURNTRANSFER => true, + CURLOPT_POST => true, + CURLOPT_POSTFIELDS => $postData, + )); + + $response = curl_exec($curl); + curl_close($curl); + + return json_decode($response, true); + } + + public function getFiles($folder = 'uploads') { + $curl = curl_init(); + + curl_setopt_array($curl, array( + CURLOPT_URL => $this->flask_api_url . '/api/files?folder=' . $folder, + CURLOPT_RETURNTRANSFER => true, + )); + + $response = curl_exec($curl); + curl_close($curl); + + return json_decode($response, true); + } + + public function deleteFile($object_key) { + $curl = curl_init(); + + curl_setopt_array($curl, array( + CURLOPT_URL => $this->flask_api_url . '/api/delete', + CURLOPT_RETURNTRANSFER => true, + CURLOPT_POST => true, + CURLOPT_POSTFIELDS => json_encode(['object_key' => $object_key]), + CURLOPT_HTTPHEADER => array('Content-Type: application/json'), + )); + + $response = curl_exec($curl); + curl_close($curl); + + return json_decode($response, true); + } +} + +// Contoh penggunaan +$storage = new NeoStorageAPI(); + +// Upload file +if ($_FILES['upload']) { + $result = $storage->uploadFile($_FILES['upload'], 'photos'); + if ($result['success']) { + echo "File uploaded: " . $result['url']; + } else { + echo "Error: " . $result['error']; + } +} + +// List files +$files = $storage->getFiles('photos'); +foreach ($files['files'] as $file) { + echo "{$file["; +} +?> \ No newline at end of file