我们的网站即时创建文件,将用户指定的数据呈现给网络上的世界。
每个这样的'_present.php'文件中都有一个需要发布给自己的表单 - 唯一的问题是,该文件是根据上传的用户数据动态创建的,文件名也有些随意。
这是过程
1) a 'standard' file called _present.php has a common form "TheForm" in it
2) this file, _present.php, is copied to Yf9iZ17a.php (for example) when
the user uploads data -- and from that point, Yf9iZ17a.php presents
that user's just-uploaded data
3) and "TheForm" is inside this Yf9iZ17a.php, which again is just a copy of
_present.php, but modified to handle the user's just-uploaded data
非常简单。 _present.php里面有“TheForm”;用户上传他们的数据;我们将_present.php复制到一个 该用户数据的文件名。
问题是 - 我们需要TheForm发布到自己的 filename,动态创建的。
换句话说,这还不够:
<form name="TheForm" method="post" action="_present.php">
然而,这项工作:
<form name="TheForm" method="post" action="Yf9iZ17a.php">
但我们不能用“Yf9iZ17a.php”对表单的html进行硬编码,因为 - 该文件名已创建 动态地,在运行中,在运行时。
这是我们成功执行的一次失败:
<form name="TheForm" method="post" action="<?php echo __FILE__ ; ?>">
'查看页面来源'确实足以证明“php echo FILE ”正确地回应了 完整路径(不是相对路径,完整路径)到Yf9iZ17a.php。
那不行。为浏览器提供文件的完全限定路径名 - 一个在服务器上的文件 - 为什么你想要在第一时间做到这一点,除非 你正在抓稻草。这是一次失败。
肯定会出现动态创建的文件名,其内部表单必须发布到这些文件名 - 什么是解决这个问题的最佳方法?
答案 0 :(得分:1)
你可以改用它吗?
<?php echo basename(__FILE__); ?>