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["; } ?>