PHP file_get_contents 获取 jquery 最小代码
PHP file_get_contents to get jquery min code
我正在编写一个脚本,它将遍历我所有的 .js 文件并将它们缩小为一个 .php 文件以包含在网站上。我只是 运行 这个脚本,我编辑了一些 js 并想将它上传到实时站点。
问题:我无法使用 file_get_contents 加载 jquery-2.1.4.min.js 的内容。我已尝试将文件名更改为 jquery.js,但没有帮助。我在其他文件中没有任何复杂的 javascript(只是随机字符串),但它们可以正常打开。
使用代码:
if (!file_get_contents($filename)) {
die ("dammit");
}
我得到了 "dammit" 的回复。不过所有其他文件都很好,所以我知道文件名和路径是正确的。一件奇怪的事情是没有出现错误(我已经使用 error_reporting (-1); 来确保它们会出现)。
有没有其他人能够得到jquery的文件内容?任何想法会导致这种情况,如果其他 javascript 或 css 有问题?
应要求,完整代码如下:
$buffer = $jsStartBuffer;
//get a list of files in the folder (only .js files)
$fileArray = array();
if (is_dir($jsMakeFile["SourcePath"])){
if ($dh = opendir($jsMakeFile["SourcePath"])){
while (($file = readdir($dh)) !== false){
$file_parts = pathinfo($jsMakeFile["SourcePath"].$file);
if ($file_parts['extension'] == "js") {
$fileArray[] = $file;
}
}
}
}
print_r($fileArray);
foreach ($fileArray as $nextRawFile) {
$buffer .= file_get_contents($jsMakeFile["SourcePath"].$nextRawFile);
if (!file_get_contents($jsMakeFile["SourcePath"].$nextRawFile)) {
die ("dammit");
}
echo $jsMakeFile["SourcePath"].$nextRawFile;
}
$buffer .= $jsEndBuffer;
echo $buffer;
$buffer = \JShrink\Minifier::minify($buffer);
file_put_contents($jsMakeFile["finalFile"]["path"].$jsMakeFile["finalFile"]["name"], $buffer);
当我把其他 .js 文件放在那里时它很好(我什至试过 lightbox.min.js 并且工作正常!)我尝试了几个不同版本的 jquery.min 并且它们似乎都失败。
好的,已找到解决方案。它与 jquery.
创建的实际文件有关
我解决的方法是:
- 转到查询站点,而不是下载所需的文件,而是在新的 tab/window 中打开它
- 复制此window中的所有内容
- 根据需要创建一个新文件并根据需要命名
- 将内容粘贴到此文件中并保存
file_get_contents 现在可以读取这个新文件了。如果您尝试以任何方式处理 php 中的 jquery(和其他)文件并遇到问题,我想这个解决方案会有所帮助。
我正在编写一个脚本,它将遍历我所有的 .js 文件并将它们缩小为一个 .php 文件以包含在网站上。我只是 运行 这个脚本,我编辑了一些 js 并想将它上传到实时站点。
问题:我无法使用 file_get_contents 加载 jquery-2.1.4.min.js 的内容。我已尝试将文件名更改为 jquery.js,但没有帮助。我在其他文件中没有任何复杂的 javascript(只是随机字符串),但它们可以正常打开。
使用代码:
if (!file_get_contents($filename)) {
die ("dammit");
}
我得到了 "dammit" 的回复。不过所有其他文件都很好,所以我知道文件名和路径是正确的。一件奇怪的事情是没有出现错误(我已经使用 error_reporting (-1); 来确保它们会出现)。
有没有其他人能够得到jquery的文件内容?任何想法会导致这种情况,如果其他 javascript 或 css 有问题?
应要求,完整代码如下:
$buffer = $jsStartBuffer;
//get a list of files in the folder (only .js files)
$fileArray = array();
if (is_dir($jsMakeFile["SourcePath"])){
if ($dh = opendir($jsMakeFile["SourcePath"])){
while (($file = readdir($dh)) !== false){
$file_parts = pathinfo($jsMakeFile["SourcePath"].$file);
if ($file_parts['extension'] == "js") {
$fileArray[] = $file;
}
}
}
}
print_r($fileArray);
foreach ($fileArray as $nextRawFile) {
$buffer .= file_get_contents($jsMakeFile["SourcePath"].$nextRawFile);
if (!file_get_contents($jsMakeFile["SourcePath"].$nextRawFile)) {
die ("dammit");
}
echo $jsMakeFile["SourcePath"].$nextRawFile;
}
$buffer .= $jsEndBuffer;
echo $buffer;
$buffer = \JShrink\Minifier::minify($buffer);
file_put_contents($jsMakeFile["finalFile"]["path"].$jsMakeFile["finalFile"]["name"], $buffer);
当我把其他 .js 文件放在那里时它很好(我什至试过 lightbox.min.js 并且工作正常!)我尝试了几个不同版本的 jquery.min 并且它们似乎都失败。
好的,已找到解决方案。它与 jquery.
创建的实际文件有关我解决的方法是: - 转到查询站点,而不是下载所需的文件,而是在新的 tab/window 中打开它 - 复制此window中的所有内容 - 根据需要创建一个新文件并根据需要命名 - 将内容粘贴到此文件中并保存
file_get_contents 现在可以读取这个新文件了。如果您尝试以任何方式处理 php 中的 jquery(和其他)文件并遇到问题,我想这个解决方案会有所帮助。