2011-05-06 198 views
1

下面的腳本不執行:這個PHP腳本有什麼問題?

<?php 

    $year = date(Y); 
    $month = date(M); 
    $dirloc = "/images/".$year."/".$month; 
    mkdir($dirloc, 0700); 

?> 

爲什麼?

謝謝

+0

ps這是我的第一個問題 – faq 2011-05-06 22:59:05

+0

你有權限創建一個新目錄嗎? – 2011-05-06 22:59:44

+1

你有什麼樣的錯誤? – 2011-05-06 23:00:00

回答

2

你忘了引號:

<?php 

$year = date("Y"); 
$month = date("M"); 
$dirloc = "/images/".$year."/".$month; 
mkdir($dirloc, 0700); 

?> 
+5

這不應該導致錯誤,因爲每個非定義的常量都被視爲一個字符串。 – KingCrunch 2011-05-06 23:02:11

+0

今天在這裏學到了另一件事:-) +1 upvote – 2011-05-06 23:12:01

+0

@PENDO:只要啓用'E_NOTICE';)'PHP注意:使用未定義的常量A - 假設'A''(用於開發更好的'E_ALL | E_STRICT'。 ) – KingCrunch 2011-05-06 23:31:10

1

使用引號的date()函數:

$year = date("Y"); 
$month = date("M"); 
6

您提供的路徑是絕對的,你可能沒有在那裏創建目錄或文件的權利。如果你想創建在當前工作目錄(您從腳本中的一個)的目錄,嘗試

$dirloc = "images/".$year."/".$month; 

而且現在看來,要創建多個文件夾。如果父文件夾不存在,mkdir失敗,如果您不允許它遞歸地創建父項。

mkdir($dirloc, 0700, true); 
        // = recursive 
+0

是的,謝謝你的幫助 – faq 2011-05-06 23:08:03

+1

@ user725097:如果這是最好的答案,請接受它(使用複選標記)。 – webbiedave 2011-05-06 23:09:21

+0

會很有趣,downvoter有什麼批評... – KingCrunch 2011-05-06 23:26:15