Как запустить windows cmd автоматически в php - PullRequest
0 голосов
/ 26 мая 2020

Я подготовил этот php веб-сервис

<?php
$user_name = "root";
$user_pass = "";
$host_name = "localhost";
$db_name = "dbupload";

$con = mysqli_connect($host_name,$user_name,$user_pass,$db_name);

if ($con) {
  $image = $_POST["image"];
  $name = $_POST["name"];
  $sql = "insert into imageinfo(name) values ('$name')";
  $upload_path = "B:/Smart_Music/Emotion_Model/images/$name.jpg";

  if (mysqli_query($con,$sql)) {
    file_put_contents($upload_path,base64_decode($image));
    $reponse=array();
        $reponse["response"]="Image Uploaded Successfully";
        echo json_encode($reponse);
  }  
  else {
    $reponse=array();
   $reponse["response"]="Failure";
   echo json_encode($reponse);
  }
}
else {
  $reponse=array();
 $reponse["response"]="Failure";
 echo json_encode($reponse);
}
mysqli_close($con);

?>

Я хочу добиться автоматического выполнения некоторых windows команд после отправки ответа.

это команды:

cd /d B:\Smart_Music\Emotion_Model\src
activate Emotion
python image_emotion_demo.py ../images/Selected_Photo.jpg

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Я пробовал это, как вы упомянули, но он не работает, перемещение в новый каталог не произошло в системе, в каталоге отображается содержимое папки htdocs

<code>$command_one='cd /d B:\Smart_Music\Emotion_Model\src';
shell_exec($command_one);
$output = shell_exec('dir');
echo "<pre>$output
";
0 голосов
/ 26 мая 2020

Вы можете использовать exec or shell_exec

<code><?php 

// Use ls command to shell_exec 
// function 
$output = shell_exec('ls'); 

// Display the list of all file 
// and directory 
echo "<pre>$output
";?>

Вывод будет для меня

gfg.php
index.html
geeks.php

Убедитесь, что если это не локальный компьютер, эта функция не отключена по соображениям безопасности

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...