Laravel‘de bir formdan gelen bir dosyayı Curl kullanarak post etmek için aşağıdaki adımları izleyebilirsiniz:

  1. İlk olarak, gelen dosyayı sunucudaki bir geçici dizine kaydetmeniz gerekecek. Bu, Curl isteği sırasında dosyanın yolu olarak kullanılacaktır. Laravel’in sağladığı store() veya move() gibi bir yöntemle dosyayı geçici bir dizine kaydedebilirsiniz. Örneğin:
$request->file('dosya')->store('gecici');

Yukarıdaki örnekte, dosya adlı form alanından gelen dosya gecici adlı bir dizine kaydedilir.

  1. Daha sonra, Curl ile POST isteği oluşturmanız gerekecek. Curl, terminalden veya PHP’de curl_* işlevlerini kullanarak yapılabilir. PHP‘deki curl_* işlevlerini kullanarak bir Curl isteği oluşturmak için aşağıdaki gibi bir kod örneği kullanabilirsiniz:
$dosyaYolu = storage_path('app/gecici/dosya.txt'); $curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, 'http://hedef-url.com/post-endpoint');
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, [ 'dosya' => new CURLFile($dosyaYolu) ]); 
$response = curl_exec($curl); curl_close($curl); // İstek sonucunu kullanabilirsiniz

Yukarıdaki örnekte, $dosyaYolu değişkeni, önceki adımda geçici dizine kaydedilen dosyanın yolunu temsil eder. Curl isteği CURLOPT_URL ile hedef URL’yi, CURLOPT_POST ile POST isteği yapılacağını ve CURLOPT_POSTFIELDS ile gönderilecek alanları belirtir. Dosya, CURLFile sınıfı kullanılarak ilgili alanın değeri olarak atanır.

  1. Curl isteği başarıyla gönderildikten sonra, isteğin sonucunu ($response) kullanabilirsiniz. İşte sonucu uygun şekilde işleyebilirsiniz.

Bu şekilde, Laravel’de bir formdan gelen dosyayı Curl ile POST etmiş olursunuz. İlgili yerleri kendi ihtiyaçlarınıza göre değiştirebilirsiniz.

Shares:

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir