Php 发布到动态创建的文件
我们的网站会动态创建文件,将用户指定的数据呈现给网络世界 在每个这样的“_present.php”文件中都有一个表单需要发布到它自己——唯一的问题是,该文件是根据上传的用户数据动态创建的,并且文件名也是任意的 过程如下Php 发布到动态创建的文件,php,forms,dynamic-data,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 exa
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
很简单_php中有“TheForm”;用户上传他们的数据;我们将_present.php复制到
该用户数据的文件名
问题是--我们需要表单发布到它自己的页面
动态创建的文件名
换句话说,这还不够:
<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 basename(__FILE__); ?>
差不多了。问题是,每个注册用户都会得到一个子文件夹,然后他们的动态创建的数据文件(基于_present.php)就会进入其中,因此basename()仅在动态创建的文件位于站点的根文件夹中时才起作用。虽然我们的数据库保留用户子文件夹的相对路径,但我需要调用一个php函数作为表单的“操作”,并回显php函数调用的返回值,例如:action=“echo myPhpFuncToGetsubfolder.basename(FILE)或者别的什么。甚至可以调用php函数作为表单的“action=”吗?您也可以将文件绝对路径修剪到所需的深度,或者用更复杂的表达式替换
,同时计算用户子文件夹。是的,我想起来了,您提出了basename()这是调用php函数的一个例子,我想我应该能够调用表单中的任何函数作为my action=“”。我只需在_present.php中编写一个php函数,构造文件的相对路径,然后在表单上回显my action=“”中的返回值。感谢您的帮助。