2016-12-03 32 views
0

是否可以將html與php結合使用,以便根據用戶在輸入字段中鍵入的內容在服務器上創建文件夾?我嘗試類似這樣的:使用phpmkdir和html輸入在服務器上創建文件夾

<?php 
    echo "<input name='myFolder' placeholder='Type folder name' type='text'>;" 
    mkdir($myFolder); 
?> 

..但不起作用。我也嘗試包括:

<?php echo $_POST["myFolder"]; ?> 

...但在這種情況下,關鍵是將使用mkdir(「」),以在服務器上創建文件夾,而不只是呼應了文件夾的名稱。或者,我嘗試:

<?php 
    $myFolder = echo " 
    <input name='myFolder' placeholder='Type folder name' type='text'> 
    "; 
    mkdir($myFolder); 
?> 

..但它也是錯的。這看起來很簡單,但也許並不那麼重要。

+0

那麼你不能'mkdir'直到用戶提交的表單已填充 – RiggsFolly

+0

@Riggs了'myFolder'領域如此的mkdir應該去最後或至少輸入字段後。我會試試看。 –

+0

我認爲你需要從瞭解網頁的生命週期開始 – RiggsFolly

回答

0

您可能想要逐步完成該過程:特別是3個步驟。
1:     從用戶處獲取輸入信息 - 使用HTML表單。
2:     清理將用於創建文件夾的用戶數據。
3:     實際上創建文件夾或拋出一個錯誤,如果出了問題。


第1部分:HTML FORM - 獲取用戶DATA

<html> 
    <form name='folder_maker' class='folder_maker' action='' method='post'> 
     <div class='form-group'> 
      <div class='form-group'> 
       <label for='folder_name'>Folder Name:</label> 
       <input id='folder_name' class='form-control' 
         name='folder_name' 
         value='' placeholder='Name of Folder to Create' /> 
      </div> 
      <div class='form-group'> 
       <input id='submit' class='form-control' 
         name='create_folder' 
         value='Create Folder' /> 
      </div> 
     </div> 
    </form> 
</html> 

第2部分& 3:USER-DATA CL EAN-UP採用PHP +創建文件夾

<?php 
    // NOTICE THAT THE FORM & THE PHP ARE ON THE SAME SCRIPT... 
    // THIS IS NOT NECESSARY AT ALL YOU MAY SEPARATE THEM... 
    // BUT IN THIS EXAMPLE, WE GO FOR SIMPLICITY..... 

    $feedBack  = ""; //<== HOLDS MESSAGES THAT WE'D LIKE TO DISPLAY TO USER... 

    // CLEAN UP THE POSTED-VARIABLE (IF ANY)-.. 
    if(isset($_POST['create_folder'])){ //<== IF FORM WAS SUBMITTED 
     // WE CLEAN UP THE VALUE OF THE "folder_name" 
     $folderName = htmlspecialchars(strip_tags(trim($_POST['folder_name']))); 

     if($folderName){ //<== FOLDER NAME IS OK... ALL IS GOOD 
      // WE WILL ASSUME YOU HAVE A SPECIAL, DEDICATED DIRECTORY INSIDE OF WHICH 
      // YOU WILL CREATE ALL THE OTHER FOLDERS.... THIS FOLDER IS LOCATED AT: 
      // __DIR__ . "/clients/folders"; SO WE STORE IT IN A VARIABLE: 
      $rootFolder = __DIR__ . "/clients/folders/"; 
      $folder2Create = $rootFolder . "/" . $folderName; 

      $feedBack  = "A Similar Folder already exists. Choose another name." 

      // NOW, WE CREATE THE FOLDER USING PHP'S mkdir(). 
      // BUT WE MAY NEED TO CHECK IF THE DIRECTORY EXISTS OR NOT 
      // SO WE DON'T INADVERTENTLY OVERRIDE SOMETHING 
      if(!is_dir($folder2Create){ //<== IF NO SUCH FOLDER EXISTS, WE CREATE IT. 
       $folderCreated = mkdir($folder2Create, 0777); 
       if($folderCreated){ 
        $feedBack = "Folder \"{$folderName}\" successfully created." 
       } 
      } 
     }else{ 
      // FOLDER-NAME IS BAD SO WE GIVE FEED-BACK TO USER: 
      $feedBack = "The name Provided could could not be used in creating a Folder." 
     } 
    } 

<html> 
    <div class='col-md-12 message-box'> 
     <!-- THIS CONTAINER IS FOR SIMPLE MESSAGE-FEEDBACK --> 
     <?php echo $feedBack; ?> 
    </div> 
    <form name='folder_maker' class='folder_maker' action='' method='post'> 
     <div class='form-group'> 
      <div class='form-group'> 
       <label for='folder_name'>Folder Name:</label> 
       <input id='folder_name' class='form-control' 
         name='folder_name' 
         value='' placeholder='Name of Folder to Create' /> 
      </div> 
      <div class='form-group'> 
       <input id='submit' class='form-control' 
         name='create_folder' 
         value='Create Folder' /> 
      </div> 
     </div> 
    </form> 
</html> 
相關問題