Передайте переменные PHP в скрипт Bash, а затем запустите его
Итак, в основном, то, что я хочу сделать, это выполнить этот скрипт Bash:
#!/bin/bash
path="./"
filename="Ellly.blend"
file=${path}${filename}
description="Test of the api with a simple model"
token_api="ff00ff"
title="Uber Glasses"
tags="test collada glasses"
private=1
password="Tr0b4dor&3"
curl -k -X POST -F "fileModel=@${file}" -F "filenameModel=${filename}" -F "title=${title}" -F "description=${description}" -F "tags=${tags}" -F "private=${private}" -F "password=${password}" -F "token=${token_api}" https://api.sketchfab.com/v1/models
Внутри функции PHP. Проблема в том, что я действительно не вижу, как я могу передать ему некоторые переменные, а затем дождаться его завершения, прежде чем возобновить функцию PHP.
Есть какая-нибудь помощь?
9
1 answers
Примечание: Я не сделал все настройки, просто достаточно, надеюсь, вы поняли идею.
Вариант 1: Передача параметров
PHP:
$file = escapeshellarg($file);
$filename = escapeshellarg($filename);
// escape the others
$output = exec("./bashscript $file $filename $tags $private $password");
Удар:
#!/bin/bash
filename=$1
file=$2
description="Test of the api with a simple model"
token_api="ff00ff"
title="Uber Glasses"
tags=$3
private=$4
password=$5
...
Вариант 2: Использование переменных среды
PHP:
putenv("FILENAME=$filename");
putenv("FILE=$file");
putenv("TAGS=$tags");
putenv("PRIVATE=$private");
putenv("PASSWORD=$PASSWORD");
$output = exec('./bash_script');
Удар:
filename=$FILENAME
file=$FILE
description="Test of the api with a simple model"
token_api="ff00ff"
title="Uber Glasses"
tags=$TAGS
private=$PRIVATE
password=$PASSWORD
...
16
Author: Levi Morrison, 2017-12-10 05:34:40