install 后 ,composer show 的时候显示 illuminate/config 等等好多项目, 这是install引起的还是扩展包引起的呢?
3Q , 3q , 三Q
我果然问了这么蠢货的问题,my bad
我自己顶一下
这个其实 groupBy('user_id')就这样了呀
不返回,直接加载不了
function get_url_content($url){
if(function_exists("curl_init")){
$ch = curl_init();
$timeout = 30;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
}else{
$is_auf=ini_get('allow_url_fopen')?true:false;
if($is_auf){
$file_contents = file_get_contents($url);
}
}
return $file_contents;
}
使用这个方法,下载不到laravel的程序
感觉怎么上面的更好用呢
html部分写个a
<a href="JavaScript:window.history.go(-1)">返回</a>
有已弄好的laravel代码,访问地址 localhost/article/1 , 我想这个文件下载存html, 然后使用
file_get_contents('http://localhost/article/1','1.txt')
打开运行后不停的转,没能下载html内容。如何处理好呢
因为我在写面向对象式实现静态化,部分代码先贴出来了
@extends('app.app')
@section('body')
{title}
<hr>
{content}
@endsection
trait Staticize
{
/**
* html 生成目录
* @var string
*/
private $html_folder = "content";
/**
* 静态化生成html文件
* @param $obj 静态的对象
* @param null $view_name 模板view的位置 xxx.xx.xx等格式
* @param null $save_path 存储生成的目录
* @param null $path_format 路径规则
*/
public function staticizeToHtml($obj,$view_name=null,$save_path=null,$path_format=null){
$template = view($view_name)->__toString();
preg_match_all('/{\S+}/i', $template, $matches);
foreach ($matches[0] as $key => $value) {
$column=preg_replace('/{|}/i','',$value);
$template = preg_replace('/' . $value . '/', $obj->$column, $template);
}
ob_start();
/* 创建时间 */
$created = $obj->created_at->format('Y-m-d');
/* 存储目录 */
if($save_path==null)
$savePath=$this->html_folder;
$saveFolder = "$savePath/$created";
/* 唯一 */
$id=$obj->id;
/* 如果存储目录不存在,建设存储目录,最后的true 允许创建多级目录 */
if (!is_dir($saveFolder))
mkdir($saveFolder, 0777, true);
/* 存储路径 */
$savePath = "$saveFolder/content_$id.html";
file_put_contents($savePath,$template);
}
}
class ArticleStaticizeController extends Controller
{
use Staticize;
/* 存储文件规则 */
private $html_folder = "content";
/**
* 手动多选的静态化
* @param Request $request
*/
public function articleMultiStaticize(Request $request)
{
$id_list=$request->get('id_list');
$articles = Article::where(['status' => 1])->whereIn('id',$id_list)->get();
/* 使用替换规则,页面上的关键字进行替换 */
foreach ($articles as $article) {
$this->staticizeToHtml($article, 'app.template.article');
}
}
}
就这样单对象的静态化方案成功了,有了模板以后,使用正则表达式,替换了动态数据值,下一步我要静态化列表页面,数据库有18200条稿件数据,这个列表页如何实现纯静态化呢?要生成html文件。