php
  • forms
  • file
  • post
  • 2017-03-01 39 views -1 likes 
    -1

    對不起,我是PHP的新手。我想要創建一個表單來獲取正在創建的頁面的目標文件夾名稱& foldername。PHP指定文件夾從選擇選項

    什麼我迄今所做的:

    <form method="post"> 
        <input type='text' name='filename' placeholder='Enter a filename' /> 
        <select> 
         <option> value='Folder1' name="thisfolder">Folder1</option> 
         <option> value='Folder2' name="thisfolder">Folder2</option> 
         <option> value='Folder3' name="thisfolder">Folder3</option> 
        </select> 
        <input type='submit' value='Run the Script' /> 
    </form> 
    
    <?php 
        if ($_SERVER["REQUEST_METHOD"] == "POST"){ 
         $filename=$_POST['filename']; 
         $myFile = .$thisfolder. "/page" .$filename.".php"; 
    
         $fh = fopen($myFile, 'w'); 
         $stringData = "Hello"; 
         fwrite($fh, $stringData); 
        } 
    ?> 
    

    正如你已經注意到第一input用於獲取目標頁面的文件名&的select元素被用來選擇三個預定義的文件夾爲一體的存儲目錄目的地。

    任何幫助,將不勝感激。

    回答

    0

    試試這個:

    <form method="post"> 
        <input type='text' name='filename' placeholder='Enter a filename'> 
        <select name="thisfolder"> 
         <option value="Folder1">Folder1</option> 
         <option value="Folder2">Folder2</option> 
         <option value="Folder3">Folder3</option> 
        </select> 
        <input type='submit' value='Run the Script'> 
    </form> 
    
    <?php 
    if ($_SERVER["REQUEST_METHOD"] == "POST") 
    { 
        // the name of the file to create 
        $filename=$_POST['filename']; 
        // the name of the folder to put $filename in 
        $thisFolder = $_POST['thisfolder']; 
        // make sure #thisFolder of actually a folder 
        if (!is_dir(__DIR__.'/'.$thisFolder)) { 
         // if not, we need to make a new folder 
         mkdir(__DIR__.'/'.$thisFolder); 
        } 
        // . . . /[folder name]/page[file name].php 
        $myFile = __DIR__.'/'.$thisFolder. "/page" .$filename.".php"; 
        $fh = fopen($myFile, 'w'); 
        $stringData = "Hello"; 
        fwrite($fh, $stringData); 
        fclose($fh); 
    } 
    ?> 
    
    +0

    我有這個錯誤注意:未定義的變量:thisfolder在C:\ XAMPP \ htdocs中\ TEST \上page1.php中第26行 –

    +0

    看起來親愛的,Folder1,Folder2和Folder3這些是我的文件夾。我希望能夠選擇其中一個文件夾,我希望我的網頁被創建。我不想擁有默認文件夾 –

    +0

    PHP區分大小寫。將兩個變量都改爲'$ thisfolder'。 – NDFA

    -1

    你需要一個名稱添加到下拉菜單,像這樣也選擇菜單內

    <select name='myFolder'> 
    

    則反相選擇在外面巢期權形式提交你可以使用$_POST['myFolder']來調用參數,並在路徑中回顯出來 - 同樣你也不會創建一個var,所以你可以設置一個默認值,如果沒有這樣的選擇。

    $myfolder = $_POST['myFolder'] ? $_POST['myFolder'] : 'your defualt folder'; 
    
    下面

    是它應該是什麼樣子的工作示例,

    <form method="post"> 
    <input type='text' name='filename' placeholder='Enter a filename'> 
    <input type='submit' value='Run the Script'> 
    <select name='myFolder'> 
    <option value="Folder1">Folder1</option> 
    <option value="Folder2">Folder2</option> 
    <option value="Folder3">Folder3</option> 
    </select> 
    </form> 
    
    <?php 
    // store the myfolder param 
        $thisfolder = $_POST['myFolder'] ? $_POST['myFolder'] : 'Folder1'; 
    
        if ($_SERVER["REQUEST_METHOD"] == "POST") 
        { 
    
        $filename=$_POST['filename']; 
        $myFile = $thisfolder. "/page_" .$filename.".php"; 
    
        $stringData = "Hello"; 
        if (!mkdir($thisfolder, 0777, true)){ 
         // creat directory if not already 
         } 
        if(file_put_contents($myFile, $stringData)){ 
        echo 'File Saved!'; 
    }else{ 
        echo 'no directory exists'; 
    }} 
    ?> 
    
    +0

    親愛的你的代碼並不是我確定我的代碼有很多錯誤,但是你沒有測試它就編輯了代碼 –

    +0

    我刪除了額外的時間 - 抱歉沒有辦法測試它的時刻,但解釋是正確的 –

    相關問題