2017-05-03 162 views
0

目前我正在學習Php。對於一個Ebay商店,我嘗試讓我的頁面沒有JS,並通過PHP切換到純CSS。 爲此,我有一個後端,我輸入我的鏈接和文本。這些存儲在我的menu.js中。如何將js代碼更改爲php

$remote_directory = UPLOAD_PATH; 
$renaming_file = $remote_directory . '/js/menu.js'; 
$renaming_file_to = $remote_directory . '/js/menu.old'; 
$_remc = new Admin_Remote_Copy(ADMIN_UPLOAD_SERVER_HOST, ADMIN_UPLOAD_USER_NAME, ADMIN_UPLOAD_PASSWORD, ADMIN_UPLOAD_SSH_PORT); 
$_remc->remote_copy($renaming_file, $renaming_file_to); 


if ($_remc->remote_is_writeable($renaming_file)) { 
    $menu_string = "document.getElementById('categories_menu').innerHTML='"; 
    for ($z = 0; $z < count($_POST['menu_lvl1_text']); $z++) { 

     $menu_string .= '<li><a href="' . $_POST['menu_lvl1_link'][$z] . '">' . htmlentities($_POST['menu_lvl1_text'][$z], ENT_QUOTES, "UTF-8") . '</a>'; 

     if (isset($_POST['menu' . $z . '_lvl2_text']) && !empty($_POST['menu' . $z . '_lvl2_text'])) { 
      $menu_string .= '<ul>'; 
      for ($zs = 0; $zs < count($_POST['menu' . $z . '_lvl2_text']); $zs++) { 
       $menu_string .= '<li><a href="' . $_POST['menu' . $z . '_lvl2_link'][$zs] . '">' . htmlentities($_POST['menu' . $z . '_lvl2_text'][$zs], ENT_QUOTES, "UTF-8") . '</a>'; 
      } 
      $menu_string .= '</ul>'; 
     } 
     $menu_string .= '</li>'; 
    } 
    $menu_string .= "';"; 

    $_remc->remote_content_copy($renaming_file, $menu_string); 
    $local_renaming_file = ADMIN_LOCAL_PATH . '/js/menu.js'; 
    $_remc->local_content_copy($local_renaming_file, $menu_string); 
} else { 
    $file_error = true; 
} 

現在我曾想過將這些值傳遞給數組並通過JSON PrittyPrint保存。但是,我完全不知道如何構建這個數組。

我的想法是建立一個具有固定ID的導航並填充JSON文件。

在後者中,我沒有看到任何問題,但陣列對我來說並不清楚。

讓我們假設數組會是這個樣子:

$m =array(
    "10100" => array('menu_lvl1_text' => 'menu_lvl1_link'), 
    "10101" => array('menu_lvl2_text' => 'menu_lvl2_link'), 
    "10102" => array('menu_lvl2_text' => 'menu_lvl2_link'), 
    "10103" => array('menu_lvl2_text' => 'menu_lvl2_link') 
); 

上午我在錯誤的道路上? 我的數組是如何知道它將值1分配給ID 10000的?

感謝,

帕特里克

回答

0

我認爲你忘了第一次打開一個文件夾!您可以先使用一些PHP函數,如opendir,然後在那裏獲取或創建一個新文件。