在做文件上傳時有一個非常必須要做的功能就是上傳文件會按日期生成目錄并把文件保存在目錄下了,下面我來為各位介紹一段php自動創建目錄并保存文件函數.
php保存文件,還可以根據文件路徑自動連續創建目錄,代碼如下,注,PHP要版本5以上:
- <?php
- /**
- * 保存文件
- *
- * @param string $fileName 文件名(含相對路徑)
- * @param string $text 文件內容
- * @return boolean
- */
- function saveFile($fileName, $text) {
- if (!$fileName || !$text)
- return false;
- if (makeDir(dirname($fileName))) {
- if ($fp = fopen($fileName, "w")) {
- if (@fwrite($fp, $text)) {
- fclose($fp);
- return true;
- } else {
- fclose($fp);
- return false;
- }
- }
- }
- return false;
- }
- /**
- * 連續創建目錄
- *
- * @param string $dir 目錄字符串
- * @param int $mode 權限數字
- * @return boolean
- */
- function makeDir($dir, $mode=0755) {
- /*function makeDir($dir, $mode="0777") { 此外0777不能加單引號和雙引號,
- 加了以后,"0400" = 600權限,處以為會這樣,我也想不通*/
- if (!dir) return false;
- if(!file_exists($dir)) {
- return mkdir($dir,$mode,true);
- } else { //開源軟件:Vevb.com
- return true;
- }
- }
- ?>
- //以下是測試內容,并調用上面的函數
- <?php
- $content = '這里是測試內容';
- if(saveFile('dir/test.txt',$content)){
- echo '寫入成功';
- }else{
- echo '寫入失敗';
- }
- ?>
注意:makeDir就是一個目錄創建函數,我們使用的是遞歸創建了.
新聞熱點
疑難解答