我发现下面的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有什么坏处吗?
发布于 2014-09-04 13:00:35
PHP函数不会作为HTML表单操作调用。
实际上,在服务器将表单发送到浏览器之前,函数将执行,因此表单的操作将是foo函数打印的值。
只要打开网页的源代码从您的服务器,您不应该看到更多的PHP代码。
发布于 2014-09-04 13:06:37
这不管用。服务器在向浏览器发送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捕获和指向控制器系统,例如使用框架。
https://stackoverflow.com/questions/25666031
复制相似问题