我已經獲得了upload_files腳本以在我的開發服務器(XAMPP Apache 2.4.17和PHP 5.6.23)上工作,但是我無法讓它在我的生產服務器上運行(Synology diskstation,apache 2.2 .31 php 5.6.30)無法使用mkdir創建目錄
它無法在數據目錄(數據目錄中存在)中創建目錄SY2017_18。數據目錄具有以下權限: drwxrwxr-X 1個管理員用戶234 Aug29 09:59數據
我已經檢查php.ini並:
file_uploads = On
upload_tmp_dir = "var/services/tmp"
任何幫助極大的讚賞。
// upload_files script
if(isset($_FILES['my_file'])){
$errors= array();
$file_name = $_FILES['my_file']['name'];
$file_size =$_FILES['my_file']['size'];
$file_tmp =$_FILES['my_file']['tmp_name'];
$file_type=$_FILES['my_file']['type'];
$file_ext=strtolower(end(explode('.',$_FILES['my_file']['name'])));
$extensions= array("jpg","png");
if(in_array($file_ext,$extensions)=== false){
$errors[]="extension not allowed, please choose a Spreadsheet file.";
}
if($file_size > 2097152){
$errors[]='File size must be less than 2 MB';
}
if(empty($errors)==true){
$folder = $_SERVER['DOCUMENT_ROOT']."/pdo/data/SY".$thisschoolyear;
if(!is_dir($folder)){
if (mkdir($folder, 0755)) {
} else echo "NO luck creating the folder $folder<br>";
}
}
}
嗨,看看這個線程https://stackoverflow.com/questions/927564/how-to-find-a-reason-when-mkdir-fails-from-php,它可以幫助你瞭解原因mkdir返回false。 –
作爲權限問題的快速檢查,將目錄更改爲777,然後查看它是否有效。 –
長,我已經閱讀了很多關於這個問題的文章,並且總是由於語法錯誤而導致mkdir失敗。如上所述,我的代碼完全適用於XAMPP,所以我總是很確定問題是權限。不幸的是,我是Linux的新手,所以這對我來說是全新的領域。 – Crookers