簡體   English   中英

mkdir():使用 PHP 創建目錄時權限被拒絕

[英]mkdir(): Permission denied when making directories using PHP

我到處尋找,但我仍然可以找到解決這個問題的方法。 I am trying to generate XML files in dedicated directories with some images etc. But I cant make directories because of the warning: Warning: 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("dmY")."/".$ime."", true); } }

上面,您可以看到從 MySQL 獲取查詢並返回行的部分代碼,並根據行中的名稱 (Ime) 創建目錄。 我在 Windows 筆記本電腦上使用 WAMP。 這真的很奇怪,因為只要我使用數據庫中的單個名稱,它就可以工作。 我需要將姓名和姓氏顯示為目錄名稱,因此我需要 CONCAT 或將兩個字符串放在一起,但每當我嘗試類似的警告時,我都會彈出任何目錄。

編輯:我確信 $ime 會發生這種情況。 如果我改變 $ime = strval($komad['Ime']); 到 $ime= "一些字符串"; 一切都按原樣運行,但這並不能算出我的用例。

謝謝你的幫助!

您缺少mkdir()的參數。 $recursive參數是第三個參數,你需要把權限放在它前面。

mkdir("naruzbine ". date("d-m-Y")."/".$ime, 0777, true);

true被視為$permissions = 0001 ,因此它正在創建沒有寫權限的目錄。

我失去了耐心,以一種簡單的方式做事。 因此,我通過在字符串進入數據庫之前聯系字符串來解決這個問題。 所以我現在只從查詢中提取一個變量,一切正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM