Include Require etc geht nicht.. XAMPP

  • PHP

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von .Scare.

    Include Require etc geht nicht.. XAMPP

    Hallo Com,
    Ich habe eine Frage, ich habe mich mal wider in PHP HTML und CSS versucht. dazu habe ich mir XAMPP installiert da ich derzeit keinen Server/Webspace zur Verfügung habe..

    so, nun das Problem: ich habe mein hauptverzeichniss in : localhost/ASCORIA/

    Folder/Files:
    index.html
    style.css
    mob2db.php
    mob2txt.php
    *img
    **gb.jpg
    *inc
    **config.inc.php
    *lib
    **flags.php

    nun wollte ich von der mob2txt.php ein require machen zur flags.php weil ich dadrin eine Funktion habe die ich benötige. dich leider bekomme ich nur diesen Fehler:
    Fatal error: Call to undefined function get_mob_rank_str() in C:\xampp\htdocs\ASCORIA\mob2txt.php on line 90​

    Ich habe es versucht mit include require etc. ich habe die flags.php auch schon ins Stammverzeichnis kopiert um zusehen ob da irgend etwas schief ist aber der selbe Fehler....

    Hier die flags.php:
    Spoiler anzeigen

    PHP-Quellcode

    1. <?
    2. echo "geht...Includet";
    3. $item_types = array( "ITEM_NONE", "ITEM_WEAPON", "ITEM_ARMOR", "ITEM_USE", "ITEM_AUTOUSE", "ITEM_MATERIAL", "ITEM_SPECIAL", "ITEM_TOOL",
    4. "ITEM_LOTTERY", "ITEM_ELK", "ITEM_METIN", "ITEM_CONTAINER", "ITEM_FISH", "ITEM_ROD", "ITEM_RESOURCE", "ITEM_CAMPFIRE",
    5. "ITEM_UNIQUE", "ITEM_SKILLBOOK", "ITEM_QUEST", "ITEM_POLYMORPH", "ITEM_TREASURE_BOX", "ITEM_TREASURE_KEY",
    6. "ITEM_SKILLFORGET", "ITEM_GIFTBOX", "ITEM_PICK", "ITEM_HAIR", "ITEM_TOTEM", "ITEM_BLEND", "ITEM_COSTUME") ;
    7. $antiflag_types = array( "ANTI_FEMALE", "ANTI_MALE", "ANTI_MUSA", "ANTI_ASSASSIN", "ANTI_SURA", "ANTI_MUDANG",
    8. "ANTI_GET", "ANTI_DROP", "ANTI_SELL", "ANTI_EMPIRE_A", "ANTI_EMPIRE_B", "ANTI_EMPIRE_C",
    9. "ANTI_SAVE", "ANTI_GIVE", "ANTI_PKDROP", "ANTI_STACK", "ANTI_MYSHOP", "ANTI_SAFEBOX") ;
    10. $item_subtype = array( /*0*/0,
    11. /*1*/array( "WEAPON_SWORD", "WEAPON_DAGGER", "WEAPON_BOW", "WEAPON_TWO_HANDED",
    12. "WEAPON_BELL", "WEAPON_FAN", "WEAPON_ARROW", "WEAPON_MOUNT_SPEAR"),
    13. /*2*/array( "ARMOR_BODY", "ARMOR_HEAD", "ARMOR_SHIELD", "ARMOR_WRIST", "ARMOR_FOOTS",
    14. "ARMOR_NECK", "ARMOR_EAR", "ARMOR_NUM_TYPES"),
    15. /*3*/array( "USE_POTION", "USE_TALISMAN", "USE_TUNING", "USE_MOVE", "USE_TREASURE_BOX", "USE_MONEYBAG", "USE_BAIT",
    16. "USE_ABILITY_UP", "USE_AFFECT", "USE_CREATE_STONE", "USE_SPECIAL", "USE_POTION_NODELAY", "USE_CLEAR",
    17. "USE_INVISIBILITY", "USE_DETACHMENT", "USE_BUCKET", "USE_POTION_CONTINUE", "USE_CLEAN_SOCKET",
    18. "USE_CHANGE_ATTRIBUTE", "USE_ADD_ATTRIBUTE", "USE_ADD_ACCESSORY_SOCKET", "USE_PUT_INTO_ACCESSORY_SOCKET",
    19. "USE_ADD_ATTRIBUTE2", "USE_RECIPE", "USE_CHANGE_ATTRIBUTE2", "USE_BIND", "USE_UNBIND"),
    20. /*4*/array( "AUTOUSE_POTION", "AUTOUSE_ABILITY_UP", "AUTOUSE_BOMB", "AUTOUSE_GOLD", "AUTOUSE_MONEYBAG", "AUTOUSE_TREASURE_BOX"),
    21. /*5*/array( "MATERIAL_LEATHER", "MATERIAL_BLOOD", "MATERIAL_ROOT", "MATERIAL_NEEDLE", "MATERIAL_JEWEL"),
    22. /*6*/array( "SPECIAL_MAP", "SPECIAL_KEY", "SPECIAL_DOC", "SPECIAL_SPIRIT"),
    23. /*7*/array( "TOOL_FISHING_ROD" ),
    24. /*8*/array( "LOTTERY_TICKET", "LOTTERY_INSTANT" ),
    25. /*9*/0,
    26. /*10*/array( "METIN_NORMAL", "METIN_GOLD" ),
    27. /*11*/0,
    28. /*12*/array( "FISH_ALIVE", "FISH_DEAD"),
    29. /*13*/0,
    30. /*14*/array( "RESOURCE_FISHBONE", "RESOURCE_WATERSTONEPIECE", "RESOURCE_WATERSTONE", "RESOURCE_BLOOD_PEARL",
    31. "RESOURCE_BLUE_PEARL", "RESOURCE_WHITE_PEARL", "RESOURCE_BUCKET", "RESOURCE_CRYSTAL", "RESOURCE_GEM",
    32. "RESOURCE_STONE", "RESOURCE_METIN", "RESOURCE_ORE" ),
    33. /*15*/0,
    34. /*16*/array( "UNIQUE_NONE", "UNIQUE_BOOK", "UNIQUE_SPECIAL_RIDE" ),
    35. /*17*/0,
    36. /*18*/0,
    37. /*19*/0,
    38. /*20*/0,
    39. /*21*/0,
    40. /*22*/0,
    41. /*23*/0,
    42. /*24*/0,
    43. /*25*/0,
    44. /*26*/0,
    45. /*27*/0,
    46. /*28*/array( "COSTUME_BODY", "COSTUME_HAIR" )
    47. ) ;
    48. $flag_types = array( "ITEM_TUNABLE", "ITEM_SAVE", "ITEM_STACKABLE", "COUNT_PER_1GOLD", "ITEM_SLOW_QUERY", "ITEM_UNIQUE",
    49. "ITEM_MAKECOUNT", "ITEM_IRREMOVABLE", "CONFIRM_WHEN_USE", "QUEST_USE", "QUEST_USE_MULTIPLE",
    50. "QUEST_GIVE", "ITEM_QUEST", "LOG", "STACKABLE", "SLOW_QUERY", "REFINEABLE", "IRREMOVABLE", "ITEM_APPLICABLE") ;
    51. $wearflag_types = array( "WEAR_BODY", "WEAR_HEAD", "WEAR_FOOTS", "WEAR_WRIST", "WEAR_WEAPON", "WEAR_NECK", "WEAR_EAR", "WEAR_SHIELD", "WEAR_UNIQUE",
    52. "WEAR_ARROW", "WEAR_HAIR", "WEAR_ABILITY") ;
    53. $limit_types = array("LIMIT_NONE", "LEVEL", "STR", "DEX", "INT", "CON", "PC_BANG", "REAL_TIME") ;
    54. $apply_types = array( "APPLY_NONE", "APPLY_MAX_HP", "APPLY_MAX_SP", "APPLY_CON", "APPLY_INT", "APPLY_STR", "APPLY_DEX", "APPLY_ATT_SPEED",
    55. "APPLY_MOV_SPEED", "APPLY_CAST_SPEED", "APPLY_HP_REGEN", "APPLY_SP_REGEN", "APPLY_POISON_PCT", "APPLY_STUN_PCT",
    56. "APPLY_SLOW_PCT", "APPLY_CRITICAL_PCT", "APPLY_PENETRATE_PCT", "APPLY_ATTBONUS_HUMAN", "APPLY_ATTBONUS_ANIMAL",
    57. "APPLY_ATTBONUS_ORC", "APPLY_ATTBONUS_MILGYO", "APPLY_ATTBONUS_UNDEAD", "APPLY_ATTBONUS_DEVIL", "APPLY_STEAL_HP",
    58. "APPLY_STEAL_SP", "APPLY_MANA_BURN_PCT", "APPLY_DAMAGE_SP_RECOVER", "APPLY_BLOCK", "APPLY_DODGE", "APPLY_RESIST_SWORD",
    59. "APPLY_RESIST_TWOHAND", "APPLY_RESIST_DAGGER", "APPLY_RESIST_BELL", "APPLY_RESIST_FAN", "APPLY_RESIST_BOW", "APPLY_RESIST_FIRE",
    60. "APPLY_RESIST_ELEC", "APPLY_RESIST_MAGIC", "APPLY_RESIST_WIND", "APPLY_REFLECT_MELEE", "APPLY_REFLECT_CURSE", "APPLY_POISON_REDUCE",
    61. "APPLY_KILL_SP_RECOVER", "APPLY_EXP_DOUBLE_BONUS", "APPLY_GOLD_DOUBLE_BONUS", "APPLY_ITEM_DROP_BONUS", "APPLY_POTION_BONUS",
    62. "APPLY_KILL_HP_RECOVER", "APPLY_IMMUNE_STUN", "APPLY_IMMUNE_SLOW", "APPLY_IMMUNE_FALL", "APPLY_SKILL", "APPLY_BOW_DISTANCE",
    63. "APPLY_ATT_GRADE_BONUS", "APPLY_DEF_GRADE_BONUS", "APPLY_MAGIC_ATT_GRADE", "APPLY_MAGIC_DEF_GRADE", "APPLY_CURSE_PCT",
    64. "APPLY_MAX_STAMINA", "APPLY_ATTBONUS_WARRIOR", "APPLY_ATTBONUS_ASSASSIN", "APPLY_ATTBONUS_SURA", "APPLY_ATTBONUS_SHAMAN",
    65. "APPLY_ATTBONUS_MONSTER", "APPLY_MALL_ATTBONUS", "APPLY_MALL_DEFBONUS", "APPLY_MALL_EXPBONUS", "APPLY_MALL_ITEMBONUS",
    66. "APPLY_MALL_GOLDBONUS", "APPLY_MAX_HP_PCT", "APPLY_MAX_SP_PCT", "APPLY_SKILL_DAMAGE_BONUS", "APPLY_NORMAL_HIT_DAMAGE_BONUS",
    67. "APPLY_SKILL_DEFEND_BONUS", "APPLY_NORMAL_HIT_DEFEND_BONUS", "APPLY_PC_BANG_EXP_BONUS", "APPLY_PC_BANG_DROP_BONUS",
    68. "APPLY_EXTRACT_HP_PCT", "APPLY_RESIST_WARRIOR", "APPLY_RESIST_ASSASSIN", "APPLY_RESIST_SURA", "APPLY_RESIST_SHAMAN") ;
    69. $immune_types = array("PARA","CURSE","STUN","SLEEP","SLOW","POISON","TERROR") ;
    70. $mob_ranks = array( "PAWN", "S_PAWN", "KNIGHT", "S_KNIGHT", "BOSS", "KING" );
    71. $mob_battle_types = array( "MELEE", "RANGE", "MAGIC", "SPECIAL", "POWER", "TANKER", "SUPER_POWER", "SUPER_TANKER" );
    72. $mob_types = array( "MONSTER", "NPC", "STONE", "WARP", "DOOR", "BUILDING", "PC", "POLYMORPH_PC", "HORSE", "GOTO" );
    73. $mob_onclick_events = array( "NONE", "SHOP", "TALK" );
    74. function get_mob_battle_type_str( $val )
    75. {
    76. global $mob_battle_types ;
    77. return $mob_battle_types[ $val ] ;
    78. }
    79. function get_mob_type_str( $val )
    80. {
    81. global $mob_types ;
    82. return $mob_types[ $val ] ;
    83. }
    84. function get_mob_rank_str( $val )
    85. {
    86. global $mob_ranks ;
    87. return $mob_ranks[ $val ] ;
    88. }
    89. echo "End of Flags.php Include";
    90. ?>


    Hier die mob2txt.php:
    Spoiler anzeigen

    PHP-Quellcode

    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//DE"
    2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml">
    4. <head>
    5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    6. <title>Ascoria DEVSEITE</title>
    7. <link href="style.css" rel="stylesheet" type="text/css"/>
    8. <style type="text/css">
    9. a:visited {
    10. color: #900;
    11. }
    12. a:hover {
    13. color: #000;
    14. }
    15. </style>
    16. </head>
    17. <body>
    18. <div id="container">
    19. <h1>test SEITE</h1>
    20. <div id="navi">
    21. <ul>
    22. <li><a href="./index.html">--Home--</a></li>
    23. <li><a href="./mob2db.php">--mobtxt2SQL--</a></li>
    24. <li><a href="./mob2txt.php">--mobSQL2txt--</a></li>
    25. </ul>
    26. </div>
    27. <div id="info_box">
    28. <?php
    29. /**
    30. * Created by PhpStorm.
    31. * User: Scare
    32. * Date: 05.11.2014
    33. * Time: 16:46
    34. */
    35. include("./flags.php");
    36. $new_proto = "./protos/mob_proto.txt.new";
    37. if(file_exists($new_proto)){unlink($new_proto);}
    38. if(!file_exists('./inc/config.inc.php'))
    39. {
    40. error_reporting(E_WARNING);
    41. }
    42. include("./inc/config.inc.php");
    43. $sqlSERV = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS);
    44. if(!is_resource($sqlSERV)){
    45. exit("Verbindung zur Datenbank fehlgeschlagen: Abbruch");
    46. }else{
    47. daten_auslesen();
    48. }
    49. function write_header()
    50. {
    51. global $new_proto;
    52. $datei = fopen($new_proto, "a");
    53. if ($datei) {
    54. fwrite($datei, "VNUM\tNAME\tRANK\tTYPE\tBATTLE_TYPE\tLEVEL\tSIZE\tAI_FLAG\tMOUNT_CAPACITY\tRACE_FLAG\tIMMUNE_FLAG\tEMPIRE\tFOLDER\tON_CLICK\tST\tDX\tHT\tIQ\tDAMAGE_MIN\tDAMAGE_MAX\tMAX_HP\tREGEN_CYCLE\tREGEN_PERCENT\tGOLD_MIN\tGOLD_MAX\tEXP\tDEF\tATTACK_SPEED\tMOVE_SPEED\tAGGRESSIVE_HP_PCT\tAGGRESSIVE_SIGHT\tATTACK_RANGE\tDROP_ITEM\tRESURRECTION_VNUM\tENCHANT_CURSE\tENCHANT_SLOW\tENCHANT_POISON\tENCHANT_STUN\tENCHANT_CRITICAL\tENCHANT_PENETRATE\tRESIST_SWORD\tRESIST_TWOHAND\tRESIST_DAGGER\tRESIST_BELL\tRESIST_FAN\tRESIST_BOW\tRESIST_FIRE\tRESIST_ELECT\tRESIST_MAGIC\tRESIST_WIND\tRESIST_POISON\tDAM_MULTIPLY\tSUMMON\tDRAIN_SP\tMOB_COLOR\tPOLYMORPH_ITEM\tSKILL_LEVEL0\tSKILL_VNUM0\tSKILL_LEVEL1\tSKILL_VNUM1\tSKILL_LEVEL2\tSKILL_VNUM2\tSKILL_LEVEL3\tSKILL_VNUM3\tSKILL_LEVEL4\tSKILL_VNUM4\tSP_BERSERK\tSP_STONESKIN\tSP_GODSPEED\tSP_DEATHBLOW\tSP_REVIVE\r\n");
    55. fflush($datei);
    56. fclose($datei);
    57. }
    58. }
    59. function write_item_list($item_array)
    60. {
    61. global $new_proto;
    62. $datei = fopen($new_proto, "a");
    63. if ($datei) {
    64. foreach ($item_array as $item) {
    65. fwrite($datei, $item);
    66. }
    67. fflush($datei);
    68. fclose($datei);
    69. }
    70. }
    71. function daten_auslesen(){
    72. $item_aus_db = array();
    73. $sqlSERV = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS);
    74. $sql = "SELECT * FROM player.mob_proto ORDER BY vnum";
    75. $ergebnis = mysql_query($sql,$sqlSERV) or die(mysql_error());
    76. write_header();
    77. while($row = mysql_fetch_row($ergebnis)){
    78. array_push($item_aus_db,$row[0]."\t");
    79. array_push($item_aus_db,$row[1]."\t");
    80. array_push($item_aus_db,get_mob_rank_str($row[3])."\t");
    81. array_push($item_aus_db,get_mob_type_str($row[4])."\t");
    82. array_push($item_aus_db,get_mob_battle_type_str($row[5])."\t");
    83. for ($i = 6; $i < 71; $i++){
    84. array_push($item_aus_db,$row[$i]."\t");
    85. }
    86. array_push($item_aus_db,$row[71]."\r\n");
    87. foreach ($item_aus_db as $item) {
    88. echo $item;
    89. }
    90. write_item_list($item_aus_db);
    91. $item_aus_db = array();
    92. }
    93. }
    94. ?>
    95. </div>
    96. </div>
    97. </body>
    98. </html>


    komischerweise geht aber das "include("./inc/config.inc.php");" aber die Funktion findet er nicht in der Flags.php

    ich hoffe das sich hier jemand ein wenig mit php etc auskennt und mir einen Tipp geben könnte wo ich einen fehler mache oder waran es sonst liegen könnte..
    nein geht leider auch nicht. und es kommt der gleiche Fehler.. =( ich habe fast das gefühl das ich mir das XAMPP mal neu installiere und alles stepp by stepp kontrolliere

    ####################################################################


    EDIT::

    Ein PHP tag fängt auch nicht so an: <? sondern so: <?php

    nun geht das require... Danke dir für den stoss in die richtige richtung!! =)

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „.Scare“ ()

    Hi,

    @slice Doch auch <? ist gültig, sofern short_open_tag in der php.ini aktiviert ist.

    Stimmt. Allerdings find' ich persönlich es hässlich das so zu machen^^

    @.Scare Mach mal ein echo __DIR__ bzw. dirname(__FILE__) und schau auch mal was $_SERVER['DOCUMENT_ROOT'] und system('pwd') dir ausspuckt.

    PS: wenn ich mir in deinem zweiten Code die Zeile 39 anschaue, da includest du die flags.php, allerdings suchst du im aktuellen Verzeichnis (./flags.php) anstatt in "./lib/flags.php". Könnt's daran liegen?

    Link :thumbup:
    Hello World
    @Link, nein das ich die flags.php da aufgerufen habe hat den grund das ich sie auch noch dahin kopiert habe um zusehen ob es am lib ordner liegen könnte. was aber nicht der fall wahr. we wahr wegen dem php Tag.

    danke euch allen für die guten ratschläge.