Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 发布到动态创建的文件_Php_Forms_Dynamic Data - Fatal编程技术网

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

我们的网站会动态创建文件,将用户指定的数据呈现给网络世界

在每个这样的“_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
很简单_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=“”中的返回值。感谢您的帮助。