So I have a KML file that I want to save to my PostGIS database, Currently I have the following code using PHP:
$file = $request->file("item");
$name = time();
$name = $name . '.' . $file->getClientOriginalExtension();
$temp = 'uploads/' . $user_app->id . '/kml/';
$path = public_path('uploads/' . $user_app->id . '/kml/');
if (!file_exists($path)) {
mkdir($path, 0777, true);
}
$path = public_path() . '/uploads/' . $user_app->id . '/kml/';
$command = "ogr2ogr -f PostgreSQL PG:\"host=".$HOST." dbname=".$DBNAME." port=".$PORT." user=".$USER." password=".$PASSWORD."\" ".$path.$name." -nln siap 2>&1";
Log::debug($command);
$res = shell_exec($command) ;
Log::debug($res);
This is the command line,
ogr2ogr -f PostgreSQL PG:"host=127.0.0.1 dbname=postgis_24_sample port=5432 user=postgres password=123456" C:\xampp\htdocs\siap-padron\public/uploads/2044492/kml/1597284059.kml -nln siap 2>&1
If I run it in PowerShell or in the system symbol it inserts it correctly in the PostGIS base, but when it is run in PHP it gives me the following error:
local.DEBUG: FAILURE: Unable to open datasource `C:/xampp/htdocs/siap-padron/public/uploads/2044492/kml/1597284059.kml' with the following drivers.
-> `JP2ECW'......
Any comment would be very helpful.