发布到动态创建的文件

时间:2012-02-24 02:35:03

标签: php forms dynamic-data

我们的网站即时创建文件,将用户指定的数据呈现给网络上的世界。

每个这样的'_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。

那不行。为浏览器提供文件的完全限定路径名 - 一个在服务器上的文件 - 为什么你想要在第一时间做到这一点,除非 你正在抓稻草。这是一次失败。

肯定会出现动态创建的文件名,其内部表单必须发布到这​​些文件名 - 什么是解决这个问题的最佳方法?

1 个答案:

答案 0 :(得分:1)

你可以改用它吗?

<?php echo basename(__FILE__); ?>