Ⅰ thinkphp缓存文件写入失败,怎么办
在本地配置这个项目时,出现了一个问题,无法写入/Runtime/Cache缓存,这个问题是回权限问题,首先要答看看在自己的项目/Application/下有没有Runtime这个文件夹,如果没有,就自己在/Application/建好Runtime文件夹,然后设置Runtime文件夹下及其下面的子文件夹的权限,方法:
在终端进入Runtime文件夹,然后执行命令:chmod -R 777 *,问题就解决了。
Ⅱ thinkphp 中 F 函数可以直接存一个 多为数组到一个文件吗 各位有没有好的一个解决方案
F 函数 可以直接存多为数组
F方法可以支持不同的存储类型,如果是文件类型的话,默认保存在DATA_PATH目录下面。
快速缓存Data数据
<?php
F('data',$Data);
?>
望采纳 Thx
Ⅲ THINKPHP咋样生成文件,例如后台功能要生成配置文件等
使用F方法
F方法的特点是:
简单数据缓存;
文件形式保存;
采用PHP返回数据方式加载缓存;
支持子目录缓存以及自动创建;
支持删除缓存和批量删除;
写入和读取缓存
F('data','testdata');
默认的保存起始路径是DATA_PATH(该常量在默认配置位于RUNTIME_PATH.'Data/'下面),也就是说会生成文件名为DATA_PATH.'data.php'的缓存文件。
注意:确保你的缓存标识的唯一,避免数据覆盖和冲突。
下次读取缓存数据的时候,使用:
$Data=F('data');
我们可以采用子目录方式保存,例如:
F('user/data',$data);//缓存写入
F('user/data');//读取缓存
就会生成DATA_PATH.'user/data.php' 缓存文件,如果user子目录不存在的话,则会自动创建,也可以支持多级子目录,例如:
F('level1/level2/data',$data);
如果需要指定缓存的起始目录,可以用下面的方式:
F('data',$data,TEMP_PATH);
获取的时候则需要使用:
F('data','',TEMP_PATH);
删除缓存
删除缓存也很简单,使用:
F('data',NULL);
第二个参数传入NULL,则表示删除标识为data的数据缓存。
支持批量删除功能,尤其是针对子目录缓存的情况,假设我们要删除user子目录下面的所有缓存数据,可以使用:
F('user/*',NULL);
又或者使用过滤条件删除,例如:
F('user/[^a]*',NULL);
Ⅳ thinkphp上传文件成功,但是无法写入数据库,用print_r($info)也什么都没有...文件的参数都怎么获取
//上传单个文件的表单模式
<formaction="__CONTROLLER__/upload"enctype="multipart/form-data"method="post">
<inputtype="text"name="name"/>
<inputtype="file"name="photo"/>
<inputtype="submit"value="提交"/>
</form>
//多文件上传设置,或者改为photo1,photo2,photo3即可
<inputtype="file"name="photo[]"/>
<inputtype="file"name="photo[]"/>
<inputtype="file"name="photo[]"/>
在控制器里创建一个 upload 方法,实现上传功能:
//上传功能
publicfunctionupload(){
$upload=newUpload();//实例化上传类
$upload->maxSize=3145728;//设置上传大小,字节
$upload->exts=array('jpg','gif','png','jpeg');//限定后缀
$upload->savePath='./';//在根目录Uploads下
$info=$upload->upload();//执行上传方法
if(!$info){
$this->error($upload->getError());//错误了
}else{
$this->success('上传成功!');//成功了
}
}
Ⅳ thinkphp缓存文件写入失败是什么原因
Thinkphp缓存文件写入失败,主要原因是没有缓存文件夹(runtime)的管理权限。
这种情况大部分出专现在Linux服务器属中,Windows服务器默认具备可写权限。
以Thinkphp5.0版本为例:
在Linux服务器的情况下,它必须是具备可写权限才行,并且这种可写权限应该递归到所有子文件夹。
假设thinkphp放在 /home/www/thinkphp 目录。
chomd -R 777 /home/www/thinkphp/runtime/
通过以上命令使runtime文件夹以及其子文件夹都具备可写权限。
Ⅵ thinkphp 中想把php运行得到的结果写入至本地的某个目录下面的文件中,该怎么实现
file_put_contents("你的目录加文件名路径", "你的运行结果", FILE_APPEND);
第三参数 设置FILE_APPEND 时 标示已有文件内容后面追加内容的方式写入新数据
Ⅶ thinkphp 缓存文件写入失败
看看硬盘是不是已经写满了
Ⅷ thinkphp 写入log日志~呢
thinkphp设置保留log日志文件的个数日志记录\ThinkPHP\Lib\Think\Core\Log.class.php
Ⅸ 在thinkphp中用php写日志txt文件失败
本地好使 win server08 iis7.5 不好使,比较有可能的是你在服务器环境下访问网站的用户对该文件夹没有写的权限。$filedir = "D:\\log.txt";就是对D盘没有写权限。
哥们采纳一下,升级需要
Ⅹ thinkphp f方法怎么获取缓存文件
F方法的特点是:
简单数据缓存;
文件形式保存;
采用PHP返回数据方式加载缓存;
支持子目录缓存以及自动创建;
支持删除缓存和批量删除;
写入和读取缓存
F('data','test data');
默认的保存起始路径是DATA_PATH(该常量在默认配置位于RUNTIME_PATH.'Data/'下面),也就是说会生成文件名为DATA_PATH.'data.php'的缓存文件。
注意:确保你的缓存标识的唯一,避免数据覆盖和冲突。
下次读取缓存数据的时候,使用:
$Data = F('data');
我们可以采用子目录方式保存,例如:
F('user/data',$data); // 缓存写入
F('user/data'); // 读取缓存
就会生成DATA_PATH.'user/data.php' 缓存文件,如果user子目录不存在的话,则会自动创建,也可以支持多级子目录,例如:
F('level1/level2/data',$data);
如果需要指定缓存的起始目录,可以用下面的方式:
F('data',$data,TEMP_PATH);
获取的时候则需要使用:
F('data','',TEMP_PATH);
删除缓存
删除缓存也很简单,使用:
F('data',NULL);
第二个参数传入NULL,则表示删除标识为data的数据缓存。
支持批量删除功能,尤其是针对子目录缓存的情况,假设我们要删除user子目录下面的所有缓存数据,可以使用:
F('user/*',NULL);
又或者使用过滤条件删除,例如:
F('user/[^a]*',NULL);