2016-05-19 11 views
-1

私はPHPでWebアプリケーションを作成しています。ユーザーがアプリケーションのインスタンスに名前を付け、PHPがそのアプリケーション用のフォルダ(ディレクトリ)構造を作成する機能を与えたいと思います。その名前に基づいて私はphp mkdirを乱用していると思います

これを行うには、HTMLフォームから$ _POST変数を受け取り、mkdir()関数を使用するPHPスクリプトを作成しました。これは、実際のスクリプトではありませんが、ここでの考え方である:私は多分私はもともとそれをの値を割り当てられ、誤った構文を使用していたと思ったので、私は変数$フォルダ名に名「テスト」が割り当てられ

<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); 
?> 

$ _POST ['foldername']。

TL:DR質問: ウェブフォームでsubmitを押すと、このスクリプトは機能しません。エラーは発生しませんが、ファイルは作成されません。しかし、コマンドラインから実行すると、そのフォルダを作成します。私はディレクトリとその親の所有者なので、権限の問題だとは思わない。私は自分のマシン上で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

助けてくれてうれしいです。 –

関連する問題