2016-05-17 20 views
0

需要插入上傳的文件到尊重的文件夾中如何將文件移動到使用用戶名(上傳文件)創建的文件夾?

在這裏,我正在創建基於唯一ID的文件夾。

我無法將文件插入到文件夾中。

上傳文件時文件和文件夾都分開存儲。

if ($file_check_error == 0){ 

if(move_uploaded_file($file['tmp_name'],$upload_directory.$path)){ 
echo"inside 2"."<br>"; 
echo"Your File Successfully Uploaded"; 
} 
$path_user = '/home/devestctrl/public_html/wp-content/plugins/est_collaboration/Files/'.$send_id; 
if (!file_exists($path_user)) { 
if (mkdir($path_user,0766,false)) { 

$path_move = $path_user."/".$path; 
echo $path_user; 
rename($path,$path_move); 
echo "Success+++++++++++"; 
} 
else{ 
echo $path; 
echo "Failure+++++++++++"; 
} 
} 
} 

$發送ID是唯一的ID。

請讓我知道我哪裏出了問題?

+0

你應該開始縮進你的代碼..被追隨者很難d .. –

+0

@Matei Mihai ...好吧對不起 – JMR

回答

1

你搞亂了你的邏輯。首先,你移動你上傳的文件

if (move_uploaded_file($file['tmp_name'], $upload_directory.$path)) { 

,只比你嘗試創建新的目錄

if (mkdir($path_user,0766,false)) { 

且僅噹噹前用戶從來沒有上傳任何你重命名文件,將其移動到其他目錄

rename($path,$path_move); 

正確的邏輯:

  1. 格式上傳的文件路徑$path = $upload_directory.DIRECTORY_SEPARATOR.$send_id
  2. 檢查目錄存在file_exists($path)
  3. 如果不存在,創建它mkdir($path, 0766, false)
  4. 上傳文件move_uploaded_file($file['tmp_name'], $path)

如:

$path = $upload_directory.DIRECTORY_SEPARATOR.$send_id; 

if (!file_exists($path)) { 
    mkdir($path, 0766, false); 
} 

move_uploaded_file($file['tmp_name'], $path); 
+0

我知道'file_exists'還會檢查一個目錄是否存在,但我會使用'is_dir'來提高可讀性。 –

+0

@MateiMihai那麼,你提供的代碼幾乎是不可讀的。 – Justinas

+0

這不是我的代碼:)我只是一個傢伙給出了一個建議.. –

相關問題