2015-09-15 4 views
0

Я создаю веб-приложение с HTML/PHP/JS/MySQL, и я использую следующий PHP-код для перемещения файлов из одного каталога в другой. Этот скрипт вызывается через запрос POST JQuery AJAX.PHP переименовать путь к файлу

function move($img, $t){ 
global $qID; 
$path=""; 
$qPath=dirname(dirname(__DIR__))."\questionData\questionImages"; 
$aPath=dirname(dirname(__DIR__))."\questionData\answerImages"; 
$ePath=dirname(dirname(__DIR__))."\questionData"."\\"."explanationImages"; 
if($t=="QI") $path=$qPath; 
else if(strpos($t,'A') !== false) $path=$aPath; 
else if($t=="EI") $path=$ePath; 
if(rename (dirname(__DIR__)."\uploads\\".$_SESSION['qSessionID']."_".$t.".png", $path."\\".$img.".png")) return true; 
else return FALSE;} 

Это отлично работает на моей локальной машине, где я бегу пакет XAMPP на Windows, 8.1, но выдает ошибку, что не говорит нет такого файла или каталога на сервере UNIX из 000webhost.com, который я использую временные. Любые идеи?

+0

Я предлагаю вам изменения косых черт, как * Никс использовать другие из них, а на окна машин PHP отлично работает с другим типом – zakius

+2

Пожалуйста, используйте PHP постоянный [DIRECTORY_SEPARATOR ] (http://php.net/manual/en/dir.constants.php) вместо косой черты или обратной косой черты. –

ответ

0

Использование / вместо \

function move($img, $t) 
{ 
    global $qID; 
    $path=""; 
    $qPath=dirname(dirname(__DIR__))."/questionData/questionImages"; 
    $aPath=dirname(dirname(__DIR__))."/questionData/answerImages"; 
    $ePath=dirname(dirname(__DIR__))."/questionData"."/"."explanationImages"; 
    if($t=="QI") $path=$qPath; 
    else if(strpos($t,'A') !== false) $path=$aPath; 
    else if($t=="EI") $path=$ePath; 
    if(rename (dirname(__DIR__)."/uploads/".$_SESSION['qSessionID']."_".$t.".png", $path."/".$img.".png")) return true; 
    else return FALSE; 
} 
Смежные вопросы