代码之家  ›  专栏  ›  技术社区  ›  shuryu sd

如何在php中编辑反勾号内的参数?

  •  0
  • shuryu sd  · 技术社区  · 7 年前

    因此,我正试图利用php中的backtick操作符来运行一些python代码,这些代码将显示在我的Apache Localhost上。这段python代码包含编辑参数的功能,但当我尝试编辑参数时,我的localhost网站上没有显示任何内容。

    我的代码:

    <!DOCTYPE html>
    <html>
    <head>
      <title>Upload your files</title>
    </head>
    <body>
      <form enctype="multipart/form-data" action="upload.php" method="POST">
        <p>Upload your file</p>
        <input type="file" name="uploaded_file"></input><br />
        <input type="submit" value="Upload"></input>
      </form>
    </body>
    </html>
    <?PHP
      if(!empty($_FILES['uploaded_file']))
      {
        $path = "uploads/";
        $path = $path . basename( $_FILES['uploaded_file']['name']);
        if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $path)) {
          echo "The file ".  basename( $_FILES['uploaded_file']['name']). 
          " has been uploaded";
        } else{
            echo "There was an error uploading the file, please try again!";
        }
      }
    ?>
    <?PHP 
       $python = `python classify_image.py --image_file C:\xampp\htdocs\uploads\bamboo.jpg`;
       echo $python;
    ?>
    

    这是我在Localhost中看到的: With the modified argument

    但是,当我从backticks中删除“-image\u文件C:\xampp\htdocs\uploads\bambol.jpg”时,python代码将恢复为读取默认图像,并在本地主机上返回: Without the modified argument

    有人能告诉我在php中使用backtick操作符有什么问题吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Barmar    7 年前

    可以在反勾号中使用变量。

    您还应该将 classify_image.py 呼叫内部 if ,因此只有在成功上载文件后才能执行此操作。

    并在路径名中使用前斜杠,而不是反斜杠,或者使用两倍的反斜杠。在双引号和反勾号中,反斜杠是转义前缀,导致路径名分析不正确。

    <?PHP
      if(!empty($_FILES['uploaded_file']))
      {
        $path = "uploads/";
        $path = $path . basename( $_FILES['uploaded_file']['name']);
        if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $path)) {
          echo "The file ".  basename( $_FILES['uploaded_file']['name']). 
          " has been uploaded";
          $python = `python classify_image.py --image_file C:/xampp/htdocs/$path`;
          echo $python;
        } else{
            echo "There was an error uploading the file, please try again!";
        }
      }
    ?>