我有時間問題。我正在製作卡拉OK網站,我在某些操作中使用了php。該網站是用Drupal製作的。我的問題是我使用date()來創建記錄的歌曲的文件名。但是這個文件名在我的頁面的兩個地方使用。第一個地方在頁面加載後立即生成文件名,並「回顯」它以供applet使用。該小程序將在用戶在錄製歌曲後離開頁面時最後上傳文件。如何使用date()常量通過代碼來創建變量? (php,drupal)
第二個地方會在按下按鈕時使用文件名。此代碼會將文件名寫入節點(我的歌曲)以供稍後訪問。所以兩個文件名必須相同。問題在於兩個代碼使用常量的時間不一致。因此,在我的歌曲節點中寫入的文件名稱與上載的文件名稱不同。因爲兩個代碼使用文件名時有4-5分鐘的差異。我想這個函數:date('dmhi')存儲在常量中,而不是函數的字符串(結果)。我嘗試使用一個變量並首先用一個字符串對它進行初始化,所以它仍然是一個字符串,但它不起作用。我更多的是C++和VB編碼器,所以我不明白變量和常量如何在php中工作。我在網上搜索了幾天,我沒有找到任何答案。我希望你們能幫助我。這裏是我的代碼部分:
第一次出現:
<?php
Global $user;
profile_load_profile($user);
$name = $user->name;
define("FILE", $title . $name . date('dmhi') . ".spx");
echo "<param name=\"refreshURL\" value=\"http://english.karavid.com/node/2?sampleName=" . FILE . "&movie=" . $movie . "&title=" . $title . "&name=" . $name . "\">\n";
echo "<param name=\"uploadFileName\" value=\"" . FILE . "\">\n";
?>
當按鈕被按下其次次數:
$node1->body = substr($node1->body, 0, -8) . "<tr>
<th scope=\"col\"><a href=\"http://english.karavid.com/node/2?sampleName=" . FILE . "&movie=" . $movie . "&title=" . $title . "&name=" . $name . "\">" . $title . "</a></th>
<th scope=\"col\">" . date('j M Y') . "</th>
<th scope=\"col\"></th>
</tr> </table>";
node_save($node1);
預先感謝您能給我任何線索。
納塔莉
編輯:
我會盡量解釋更好。我正在生成一個頁面,它將在applet中創建一些代碼(語音記錄器)。在該applet中,我使用php來構成小程序代碼的一部分。這部分是爲了讓小程序上傳用戶完成的錄製。現在,我需要一個對每個用戶都不同的文件名。如果用戶在一天中多次錄製同一首歌曲,則文件名稱必須不同,因此我在文件名稱中使用了日期和時間。用函數date();
但是,該文件名在加載時生成。所以文件名將包含加載頁面的時間。稍後當用戶確實保存該歌曲時,時間已過,但上載的文件名包含加載時的時間而不是保存時間。發生這種情況是因爲在加載頁面時,applet中的文件名稱是「echo」(ed)。沒有其他方法可以解決它。
但是,我想保留那段時間,以便我可以再次使用它。當我嘗試再次使用文件名時,時間不再相同。幾分鐘過去了。所以文件名稱是不一樣的。並且當保存時在記錄之後將文件名寫入另一個頁面(節點或文件)時,它與前一個不一樣。
我知道這有點複雜。但基本上,我需要生成一個包含其中的時間的文件名。並在兩次使用相同的文件名稱,將用時間框架分隔。但文件名不應該改變。
謝謝你的回答。如果不清楚,我很抱歉。英語不是我的母語。我想要做的就是你說的,我需要在第一次調用(加載頁面時)時設置日期(和時間),並在隨後的調用中設置相同的日期(時間)(最後當「保存「按鈕被按下)。但是當第二次被調用時,時間會有幾分鐘的差異。 我用你的代碼(第二個),但它不起作用。我打電話這樣的功能: $ date = $ this-> myDate(); 但它不編譯。 –
我認爲我們混淆了這個問題。你基本上是生成一個頁面,該頁面將提供一個按鈕來訪問以前定義的文件,對吧? – ameagher
再次感謝你。我嘗試了兩種解決方案,它們編譯得很好,但沒有解決我的問題。感謝您的幫助,我編輯了我的問題以清除問題。 –