将表单动作html传递给php

时间:2013-09-18 01:01:11

标签: php html

我有一个php文件,我认为它是成功的,并带有两个参数,一个文件名和一个路径,我试图用以下代码调用它。

<html>
<body>
<form action="/var/www/upload_file.php foo.php docs/School/" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>

其中foo.php和docs / School /是我的两个论点。但是,当我点击提交时,它 表示:

“在此服务器上找不到请求的URL /var/www/upload_file.php foo.php docs / School /。”

我知道这种传递与php中的exec命令一起工作,但我只是不确定html中的格式化。

3 个答案:

答案 0 :(得分:4)

这不是你通过网络发送内容的方式。您的表单应如下所示:

<form action="upload_file.php" method="post" enctype="multipart/form-data">
    <!--Note the relative path above; not a direct path to a server location-->
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file"><br>
    <input type="submit" name="submit" value="Submit">
</form>

然后在upload_file.php页面中,您可以使用$ _POST:

来引用这些值
<?php
    $file = $_POST['file']; // Whatever the "name" was in the HTML element
?>

编辑:

注意到<input/>有一个“文件”类型。请使用$_FILES

答案 1 :(得分:1)

您应该从隐藏字段传递参数并相应地修改php。 “行动”是从用户的角度来看 - 将“/var/www/upload_file.php foo.php docs / School /”放入浏览器是行不通的,所以同样不会这样做。

答案 2 :(得分:0)

您需要使用MVC框架,它将GET请求路由到适当的控制器和方法并传入您的参数您还需要使用分段URL:

'/控制器/方法/参数1 /参数2'。

相关问题