Ⅰ 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);