我的文件结构如下:
history.replaceState(null, "/NewsArchive.aspx", "Story=New-site-launched&ID=17")
在我的index.php文件中,我有这个:
---public(Documentroot folder, where all my css,js, images loads from)
---models
---modules {all my modules customer, db_management e.t.c)
---scripts
|---ivr_builder
|------ui-bootstrap-tpls-0.2.js
--twig_templates {All my ta}
|---layout.twig
然后在我的浏览器中,我收到此错误:
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require '../vendor/autoload.php';
spl_autoload_register(function ($classname) {
require "../models/" . $classname . ".php";
});
$config['displayErrorDetails'] = false;
$app = new \Slim\App(["settings" => $config]);
$container = $app->getContainer();
// Register component on container
$container['view'] = function ($container) {
$view = new \Slim\Views\Twig(
'/var/www/html/ivr/twig_templates', ['cache' => false]);
$env = $view->getEnvironment();
$lexer = new Twig_Lexer($env, array(
'tag_comment' => array('{#', '#}'),
'tag_block' => array('{%', '%}'),
'tag_variable' => array('[[', ']]'),
'interpolation' => array('#{', '}'),
));
$env->setLexer($lexer);
$loader = new \ Twig_Loader_Filesystem('ivr/scripts/ivr_builder/ui-bootstrap-tpls-0.13.4.js');
$env->getLoader();
return $view;
};
我的layout.swig标题如下所示:
Name | Status
---------------------------- | ------
angular-aside.js | 200
jquery.js | 200
ui-bootstrap-tpls-0.1.3.4.js | 500
请在浏览器上提供有关未加载原因的建议。
答案 0 :(得分:0)
我可以轻松使用xsendfile加载它:
发送文件 使用xsendfile发送文件非常简单:
XSendFile On
XSendFilePath "/path/to/directory/containing/js/files"
您可以省略第一个标题,在这种情况下,浏览器不一定会显示下载文件对话框。此外,X-Sendfile标头不会显示在用户的浏览器中,并且永远不会看到他们收到的文件的真实位置。
您不需要发送Content-Length标头,因为Apache会为您处理这个问题。也在Slim上找到了这个:
$app->get('/get-file', function () use ($app) {
$res = $app->response();
$res['X-SendFile'] = '/path/to/directory/containing/js/files/foo.js';
});
在Slim应用程序路由回调中,使用上面指定的文件路径中文件的绝对路径设置X-SendFile标头:
$csv = Import-Csv .\1.csv -Delimiter ';'
$ref = [ordered]@{}
$columns = foreach ($i in 0..3) { ,[Collections.ArrayList]@() }
foreach ($row in $csv) {
$value = $row.Column1
$ref[$value] = $true
$columns[0].add($value) >$null
}
foreach ($row in $csv) {
$i = 1
foreach ($col in 'Column2', 'Column3', 'Column4') {
$value = $row.$col
if (!$ref[$value]) {
$columns[$i].add($value) >$null
}
$i++
}
}
$maxLine = ($columns | select -expand Count | measure -Maximum).Maximum - 1
$csv = foreach ($i in 0..$maxLine) {
[PSCustomObject]@{
Column1 = $columns[0][$i]
Column2 = $columns[1][$i]
Column3 = $columns[2][$i]
Column4 = $columns[3][$i]
}
}