2015-08-31 2 views
1

Я пытаюсь загрузить файлы в динамически созданный каталог, используя этот скрипт PHP, но не bueno. Сценарий работает, если я просто установил $storeFolder = 'uploads';, но не переместил их в свою новую папку. Я попытался создать папку вручную, даже с разрешениями (eek), установленными на 777. Никаких костей еще не было.PHP: невозможно переместить загруженный файл из каталога temp

<?php 
$ds = DIRECTORY_SEPARATOR; 
function curPageURL() 
{ 
    $pageURL = 'http'; 
    if (isset($_SERVER["HTTPS"]) && strtolower($_SERVER["HTTPS"]) == "on") { 
     $pageURL .= "s"; 
    } 
    $pageURL .= "://"; 
    if ($_SERVER["SERVER_PORT"] != "80") { 
     $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"]; 
    } else { 
     $pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]; 
    } 
    return $pageURL; 
} 
$murl = curPageURL(); 
parse_str($murl, $result); 
$storeFolder = 'uploads' . $ds . $result['f']; 
if (!is_dir($storeFolder)) { 
    mkdir($storeFolder, 775); 
} 
if (!empty($_FILES)) { 
    $tempFile = $_FILES['file']['tmp_name']; 
    $targetPath = dirname(__FILE__) . $ds . $storeFolder . $ds; 
    $targetFile = $targetPath . $_FILES['file']['name']; 
    move_uploaded_file($tempFile, $targetFile); 
} 
?> 
+2

у вас отсутствует нуль 'mkdir ($ storeFolder, 0775);' - RTM http://php.net/man ual/en/function.mkdir.php * bool mkdir (string $ pathname [, int $ mode = 0777 [, bool $ recursive = false [, resource $ context]]]) * –

+1

Да, вот и все. Благодарю. добавьте его в качестве ответа, и я соглашусь. – UltrasoundJelly

+0

Добро пожаловать. –

ответ

5

Вы упускаете нулевой mkdir($storeFolder, 0775);

http://php.net/manual/en/function.mkdir.php В руководстве состояний:

BOOL MKDIR (строка $ имя пути [, режим INT $ = 0777 [, BOOL $ рекурсивный = ложный [, resource $ context]]])