2

我正在尝试将上传的文件作为参数传递给 python 脚本。

表单.php

<html>
<body>
<form method="post" enctype="multipart/form-data" action = "formdata.php">

<label for="file">Upload File:</label>
<input type="file" name="file" id="file" />
<label for="user_email">Email:</label>
<input type="text" name="user_email" id="user_email" />
<input type="submit" id="submit" value="Submit" />

</form>
</body>
</html>

表格数据.php

<?php
$email = $_POST['user_email'];
$uploaded_file = //don't know what to do here

$output = shell_exec("/usr/bin/python /var/www/Create.py $uploaded_file $email);
echo "<pre>$output</pre>";
?>

创建.py

  #    def moveMetadataFile():
  #      import shutil
  #      shutil.copyfile('/var/www/**uploaded_file**', '/var/www/temp/**uploaded_file**')
  # some more code
  upload = sys.argv[1]
  email = sys.argv[2]

这工作正常,我从用户那里收到电子邮件和所有内容,如果我自己指定文件名,代码就可以工作,但现在我希望 python 脚本使用用户上传的文件。我完全不知道从哪里开始?如果忽略注释掉的部分更容易回答这个问题,那也可以。

4

1 回答 1

2

您可以使用获取文件名

$uploaded_file = $_FILES['file']['tmp_name'];

来自 PHP 文档tmp_name

上传文件存储在服务器上的文件的临时文件名。

请参阅PHP 文档 | POST 方法上传以获取更多信息。您可能还想使用其他一些字段来确保在调用 Python 脚本之前没有发生错误。

这有帮助吗?

于 2013-01-23T20:49:11.480 回答