2012-08-31 4 views
0

Я новичок в php, мой код для создания каталога приведен ниже.директория не создана

<?php 


     if($_POST["create"]) 
     { 
      $name=$_POST["newDirCreated"]; 
      $uploaddir = $name; 
      mkdir($uploaddir,0777); 
      print "created"; 
     } 


?> 

Но каталог не создается, используя это. Если я хочу создать каталог в public_html, как я могу это сделать?

+1

Каких ошибок вы получаете? –

+2

'mkdir' не генерирует исключений. Функция try/catch является избыточной. – Jon

+0

В основном я программист Java, поэтому я поставил эту попытку поймать. позвольте мне повторить еще раз – thebuffer

ответ

1

mkdir() не вызывает исключения, если что-то пойдет не так. Вы должны сделать сценарий немного более «разговорчивы», чтобы получить больше информации о том, что происходит на

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', true); 

if(!isset($_POST["create"])) { 
    echo 'post parameter create not present'; 
} 
else { 
    // you are absolutely sure about passing the POST parameter as-is to mkdir() ? 
    // ok, it's up to you; just make sure it doesn't get abused.... 
    echo 'current working directory: ', htmlspecialchars(getcwd()), "<br />\n"; 
    echo 'newDirCreated: ', htmlspecialchars($_POST["newDirCreated"]), "<br />\n"; 
    $rc = mkdir($_POST["newDirCreated"], 0777); 
    if ($rc) { 
     echo 'created'; 
    } 
    else { 
     echo "an error occured<br />\n"; 
     if (function_exists('error_get_last')) { 
      echo 'error_get_last: ', htmlspecialchars(print_r(error_get_last(), true)); 
     } 
     else if (isset($php_errormsg)) { 
      echo 'php_errormsg: ', htmlspecialchars($php_errormsg); 
     } 
     else { 
      echo 'no additional error information available'; 
     } 
    } 
} 

Но помните, чтобы сделать его менее разговорчивые (пока обработки ошибок) снова после отладки. Вы не должны подвергать всю произвольные Информацию по пользователям ...

Смотри также:

+0

ОК, я изменю это, я дам имя myown для каталога. – thebuffer

Смежные вопросы