我試圖創建一個相當簡單的(理論上)文件上傳'進程'。我瀏覽了這個網站,雖然有我需要的片段,但似乎沒有任何工作!文件上傳/ mkdir()問題
基本上,我試圖創建一個處理如下功能:
- 獲取文件擴展
- 獲取文件名
- 合併的文件名,clientID的和擴展
- 檢查目標目錄存在。如果沒有,創建它。
- 文件(在新名稱)移動到目錄
我的文件結構如下:
- 根
- 管理
- 上傳
- client_uploads
- $客戶端ID
- client_uploads
- 上傳
- 管理
這是我有:
<?php
include("dbconnect.php");
error_reporting(-1); // ALL messages and
ini_set('display_errors', 'On');
if($_GET['clientID']){
//This function separates the extension from the rest of the file name and returns it
function findexts ($filename)
{
$filename = strtolower($filename) ;
$exts = split("[/\\.]", $filename) ;
$n = count($exts)-1;
$exts = $exts[$n];
return $exts;
}
//Get filename function
$filename = "test"; //I dont know how to create this function at the moment
return $filename;
//This applies the function to our file
$ext = findexts ($_FILES['uploaded']['name']) ;
// we will be using the clientID as the new folder and adding it into the filename
$clientID = mysql_real_escape_string((int)$_GET['clientID']);
//merge filename
$filename2 = $filename."_".$clientID.".";
//Scan for existing directory
$folder = '../admin/uploads/client_uploads/'.$username.'/';
if (is_dir("$folder") == false) {
mkdir("$folder", 0777);
echo "Directory created";
}
//This assigns the subdirectory you want to save into... make sure it exists!
$target = "admin/client_uploads/$clientID";
//This combines the directory, the random file name, and the extension
$target = $target . $filename2.$ext;
//Move file under new name
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
echo "The file has been uploaded as ".$filename2.$ext;
}
else
{
echo "Sorry, there was a problem uploading your file.";
}
}
?>
我沒有收到任何錯誤消息(儘管我已經明確要求他們),我最終只是一個空白的屏幕。文件夾不是在我的服務器上的任何地方創建的,沒有任何反應
任何想法?提前致謝。
你是否檢查過PHP的錯誤日誌中的消息?你是否試圖通過註釋掉部分和'var_dump'個別變量來逐步調試? – deceze
我不知道如何檢查我的錯誤日誌 - 我會以爲我的第一行代碼會在頁面上顯示任何錯誤? – Anthony
似乎也是'分裂'命令的錯誤 - 關於它的折舊。我需要使用'爆炸'cammond還是其他地方? – Anthony