我到處找,但我仍然可以找到解決這個問題的方法。我正在嘗試在包含一些影像等的專用目錄中生成 XML 檔案。但由于警告,我無法創建目錄:警告:mkdir(): Permission denied in C:\wamp64\www\motor\cpanel.php on line 52
/** create XML file */
function generisanje(){
$mysqli = OpenCon2();
$mysqli->query("SET NAMES 'utf8'");
$query = "SELECT CONCAT(Ime , Prezime) as Ime, Adresa, broj_Telefona, Drzava, Email, potrosac.id_Potrosaca, Mesto, postanski_Broj, vreme_Narucivanja, proizvodi.Boja, proizvodi.Naziv, proizvodi.Cena, proizvodi.Velicina, proizvodi.Priprema, proizvodi.Primer, proizvodi.Tip, proizvodi.Kolicina FROM potrosac JOIN proizvodi ON potrosac.id_Potrosaca=proizvodi.id_Potrosaca WHERE (SELECT DATE_FORMAT(potrosac.vreme_Narucivanja ,'%d-%m-%y'))=(SELECT DATE_FORMAT(SYSDATE(),'%d-%m-%y')) ";
$narudzbina = array();
//CONCAT(Ime , " ", Prezime)as Ime
if ($result = $mysqli->query($query)) {
/* fetch associative array */
while ($row = $result->fetch_assoc()) {
array_push($narudzbina, $row);
}
if(count($narudzbina)){
createXMLfile($narudzbina);
}
/* free result set */
$result->free();
}
/* close connection */
$mysqli->close();
}
function createXMLfile($narudzbina){
$id="strasilo";
foreach ($narudzbina as $komad) {
$ime = strval($komad['Ime']);
mkdir("naruzbine ". date("d-m-Y")."/".$ime."", true);
}
}
上面,您可以看到部分代碼從 MySQL 獲取查詢并回傳行,并根據行中的名稱 (Ime) 創建目錄。我在 Windows 筆記本電腦上使用 WAMP。這真的很奇怪,因為每當我使用資料庫中的單個名稱時它都可以作業。我需要將姓名和姓氏顯示為目錄名稱,因此我需要 CONCAT 或將兩個字串放在一起,但是每當我嘗試類似警告的內容時,都會彈出并最終沒有目錄。
編輯:我確信 $ime 使這發生。如果我改變 $ime = strval($komad['Ime']); 到 $ime="某個字串"; 一切都按預期運行,但這并不能算作我的用例。
謝謝你的幫助!
uj5u.com熱心網友回復:
您缺少mkdir(). 該$recursive引數是第三個引數,則需要在前面加上的權限。
mkdir("naruzbine ". date("d-m-Y")."/".$ime, 0777, true);
true被視為$permissions = 0001,因此它正在創建沒有寫入權限的目錄。
uj5u.com熱心網友回復:
我失去了耐心,做事很簡單。所以,我通過在字串進入資料庫之前聯系字串來解決這個問題。所以我現在只從查詢中提取一個變數,一切正常。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/399817.html
上一篇:在新表中插入多行的觸發器
