• 28-12-2022, 02:52:06
    #1
    Merhaba,

    <?php
    @session_start();
    @ob_start();
    define("DATA","data/");
    define("PAGE","include/");
    ?>
    olarak tanımlama yaptım.

    <?php
    include_once(DATA."ust.php"); O
    ?>
    olarak include ettiğimde aşağıdaki hatayı alıyorum.

    Warning
    : include_once(/dataust.php): Failed to open stream: No such file or directory in C:\xampp\htdocs\yonetim\index.php on line 37
    
    Warning: include_once(): Failed opening '/dataust.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\yonetim\index.php on line 37
    ama aşağıdaki gibi yazdığımda sorun olmuyor. Normalde ilk yazımdaki gibi çalışması gerekmiyor mu?

    <?php
    include_once("../data/ust.php");
    ?>

    İlk şekildeki gibi çalıştırmak istiyorsam define aşağıdaki gibi yapmam gerekiyor. Ama oda 2 noktayı koymadan çalışması gerekmiyor mu?...
    define("DATA","../data/");
    define("PAGE","../include/");
  • 28-12-2022, 02:54:20
    #2
    define dosyasını şu şekilde düzenleyip dener misin hocam

    <?php
    @session_start();
    @ob_start();
    define("DATA","../data/");
    define("PAGE","include/");
    ?>
  • 28-12-2022, 02:55:45
    #3
    trycatchsoft adlı üyeden alıntı: mesajı görüntüle
    define dosyasını şu şekilde düzenleyip dener misin hocam

    <?php
    @session_start();
    @ob_start();
    define("DATA","../data/");
    define("PAGE","include/");
    ?>
    Bu şekilde yapınca çalıştı hocam sonradan konuya ekledim onuda fakat normalde 2 noktayı koymam gerekmiyordu diye hatırlıyorum.
  • 28-12-2022, 02:56:26
    #4
    Cha adlı üyeden alıntı: mesajı görüntüle
    Bu şekilde yapınca çalıştı hocam sonradan konuya ekledim onuda fakat normalde 2 noktayı koymam gerekmiyordu diye hatırlıyorum.
    iki nokta ile bir üst klasöre çıkıyor. demek define dosyan bir üst klasörde. iki nokta koymak istemiyorsan define dosyanı bir alt klasöre alabilirsin
  • 28-12-2022, 02:57:21
    #5
    trycatchsoft adlı üyeden alıntı: mesajı görüntüle
    iki nokta ile bir üst klasöre çıkıyor. demek define dosyan bir üst klasörde. iki nokta koymak istemiyorsan define dosyanı bir alt klasöre alabilirsin
    İlginiz ve cevabınız için teşekkür ederim hocam.
  • 28-12-2022, 13:38:40
    #6
    Ana dizin icin en sagliklisi path diye define olusturup veya size kalmış realpath degeri vermeniz ve tum dosyalari path . '/folder/file.php'; olarak cagirmaniz daha saglikli olur.
  • 28-12-2022, 15:13:16
    #7
    ebubekirgns adlı üyeden alıntı: mesajı görüntüle
    Ana dizin icin en sagliklisi path diye define olusturup veya size kalmış realpath degeri vermeniz ve tum dosyalari path . '/folder/file.php'; olarak cagirmaniz daha saglikli olur.
    dediğiniz şekilde yaptım teşekkür ederim.
  • 28-12-2022, 17:39:43
    #8
    Şimdi ve farklı bir versiyon veya platform üzerinde sorun almamak için aşağıdaki gibi oluşturabilirsiniz:

    define('ROOT', __DIR__);
    `__DIR__` global bir tanımlamadır; bulunduğunuz dizini belirtir. Bir önceki dizine çıkmak için `dirname()` kullanabilirsiniz.

    Örnek:

    define('ROOT', dirname(__DIR__));
    Dizinleri birbirinden `/` ile ayırmak yerine, `DIRECTORY_SEPARATOR` kullanabilirsiniz.

    Örnek:

    define('ROOT', dirname(__DIR__) . DIRECTORY_SEPARATOR . 'data');
    Başarılar...