Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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 explode无法在javascript模板中工作_Php_Javascript_Jquery_Json_Template Engine - Fatal编程技术网

php explode无法在javascript模板中工作

php explode无法在javascript模板中工作,php,javascript,jquery,json,template-engine,Php,Javascript,Jquery,Json,Template Engine,我知道有些帖子已经在讨论同一个话题了 以下是链接: 我正在尝试将php分解函数合并到javascript模板中。该插件是从GitHub下载的blueimp@i上传的jQuery文件 下面是我的代码的一部分,我正在尝试执行并使其工作 <!-- The template to display files available for download --> <script id="template-download" type="text/x

我知道有些帖子已经在讨论同一个话题了

以下是链接:

我正在尝试将php分解函数合并到javascript模板中。该插件是从GitHub下载的blueimp@i上传的jQuery文件

下面是我的代码的一部分,我正在尝试执行并使其工作

         <!-- The template to display files available for download -->
         <script id="template-download" type="text/x-tmpl">
         {% for (var i=0, file; file=o.files[i]; i++) { %}
             <tr>
                <td>
                     <?php echo "{%=file.name%}"; ?> //{%file.name%} contains a string seperated by underscores
                     <?php $file_name_long = '{%=file.name%}'; ?>
                     <?php $file_name = explode ('_' , $file_name_long); ?>
                     <?php print_r($file_name); ?>
                </td>
             </tr>
               ...
               ...

{%for(var i=0,file;file=o.files[i];i++){%}
//{%file.name%}包含由下划线分隔的字符串
...
...
我可以将$file\u name打印为一个数组,但无法在我的文件中用下划线分隔。name。打印的数组包含整个字符串,如file.name


我不确定这是否可行。我已经尝试了一整天。如果这不可行或逻辑上不正确,请告诉我,这样我就可以停止尝试使这项工作正常进行。谢谢并感谢。

您正在尝试在客户端(在js模板中)执行服务器端代码(php)。代码
{%=file.name%}
在您的php代码尝试执行时还没有被替换(因为它在服务器上)


如果混合使用服务器端和客户端代码,您确实需要管理逻辑,以说明在客户端之前执行的服务器。

您正在尝试在客户端(在js模板中)上执行服务器端代码(php)。在php代码尝试执行时,代码
{%=file.name%}
尚未被替换(因为它在服务器上)


如果混合使用服务器端和客户端代码,则确实需要管理逻辑,以说明在客户端之前执行的服务器。

您正在尝试读取php代码中的javascript值

{%=file.name%}
只是php的一个字符串,在php呈现输出时不包含实际的文件名。因此,print\u r()将输出
{%=file.name%}
,然后在整个php处理完成后在浏览器中转换为文件名


尝试单独用javascript实现这些功能。

您正在尝试读取php代码中的javascript值

{%=file.name%}
只是php的一个字符串,在php呈现输出时不包含实际的文件名。因此,print\u r()将输出
{%=file.name%}
,然后在整个php处理完成后在浏览器中转换为文件名


尝试单独用javascript实现此功能。

请提供当前生成的输出好吗?我得到-->供应商未知\u Pearls.gif数组([0]=>供应商未知\u Pearls.gif)请提供当前生成的输出好吗?我得到-->供应商未知\u Pearls.gif数组([0]=>供应商未知\u Pearls.gif)意思是用javascript进行分解?是的。但是你必须弄清楚如何在模板文件中运行javascript。分解()的javascript等价物是
split()函数。然后设置条件以限制要显示的照片的类型。谢谢Jan。应该早点问。这样会节省我很多时间。用javascript进行分解的意思?是的。但是你必须弄清楚如何在模板文件中运行javascript。分解()的javascript等价物是
split()
hmm.但是我无法直接添加拆分是吗?因为它是一个模板脚本..?它会显示一些错误吗?很好。完成了。进行了拆分()函数。然后设置条件来限制要显示的照片类型。谢谢Jan。应该早点问。这样会节省我很多时间。我想我在某种程度上得到了它。这意味着当它进入explode函数时,{%=file.name%}不会转换为实际的文件名,而是保持为当前形式。这就是为什么文件名的值不会分解为我想要的形式。我想我在某种程度上得到了它。这意味着当它进入分解函数时,{%=file.name%}不会转换为实际的文件名,只是保持当前的形式。这就是为什么文件名的值不会分解为我想要的形式。