我发现遵循HTML表单代码
<form action="<?php foo(bar)?>" 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>
当foo(bar)
是当前作用域中可用的函数时,正常工作。
我是php和html的新手,无法在线找到此功能的任何文档。使用<?php foo(bar)?>
而不是调用脚本文件foo.php
是否有任何缺点?
答案 0 :(得分:1)
不会将PHP函数作为HTML表单操作调用。
实际上PHP函数将在服务器将表单发送到浏览器之前执行,因此表单的操作将是foo函数打印的值。如果有的话。
只需打开从服务器收到的网页源代码,您就不应再看到PHP代码了。
答案 1 :(得分:0)
这不会起作用。在将HTML发送到浏览器之前,服务器正在执行PHP。
但这是一个想法:
<?php
function foo($bar)
{
echo $bar;
}
if (isset($_POST['func'])){
foo($_POST['file']);
}
?>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="hidden" name="func" id="file" value="foo">
<input type="submit" name="submit" value="submit">
</form>
但IMO更好的方法是使用CURL或其他 url-catch-and-pointing-to-controller 系统,例如:使用框架