2016-05-19 6 views
-1

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

Для этого я написал скрипт PHP, который принимает переменную $ _POST из формы HTML, а затем использует функцию mkdir(). Это не реальный сценарий, но вот идея:

<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>"> 
    <input type="text" name="foldername"> 
    <input type="submit" value="submit"> 
</form> 

<?php 
    $foldername = 'test'; 
    mkdir($foldername, 0777, false); 
?> 

я присвоил имя «тест» в переменном $ FOLDERNAME, потому что я думал, может быть, я использовал неправильный синтаксис, когда я первоначально назначенную ей значение $ _POST [ 'имя_папка'].

Так вот вопрос TL; DR: Этот скрипт НЕ работает, когда я нажимаю кнопку отправки в веб-форме. Это не приводит к ошибке, но не создает файл. Однако, когда я запускаю его из командной строки, он делает папку. Я не думаю, что это проблема с правами доступа, так как я являюсь владельцем каталога и его родителя. Я запускаю это на Apache на своей машине. Любые идеи, что я делаю неправильно? Или любые идеи по альтернативному методу?

+0

Какую версию PHP вы используете? – Edward

+0

PHP 5.5.9. Я уверен, что это стабильное отношение. – tacticalcuddle

+0

Когда вы говорите «это не приводит к ошибке», вы действительно проверяли свои журналы ошибок? –

ответ

0

Вы пытались использовать абсолютный путь?

<?php 
    $foldername = '/root/dir/test'; // Note the slash at the beggining 
    // $foldername = 'test'; 
    mkdir($foldername, 0777, false); 
?> 
+0

спасибо @Kenny Lajara, добавив, что слэши, похоже, были частью, которую мне не хватало – tacticalcuddle

+0

Рад, что эта помощь может вам помочь. –

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