PHP htdocs klasörünün altında benim php dosyaları bulmak değilse olamaz

3 Cevap php

Birinin tavsiyesi ile ben htdocs olarak aynı seviyede ayrı bir klasörde (inc) benim tüm PHP dosyaları koyduk. Sadece index.php htdocs bırakılır. Yani, bu gibi:

C:\myproject\htdocs
- index.php

C:\myproject\inc
- login.php
- util.php
- register.php
...

Şimdi, benim tarayıcı index.php localhost gittiğinizde işlenir ve doğru gösterilmiştir. Ancak diğer php dosyaları herhangi bir bağlantıları bulunmayan. Ben "inc" ile bağlantıları başa eklemek için çalıştı, ama onlar hala bulunamadı değiliz. Ben ne yapmalıyım?

My php.ini file has this line (it's on Windows):
include_path = ".;C:\myproject\inc"

3 Cevap

Include dizinin nokta bir sunucunuz tarafından erişilebilir olması istemediğiniz dosyaları koymaktır. Login.php gibi bir URL üzerinden erişilebilir olması gerekiyorsa:

http://yourdomain.com/login.php

daha sonra dahil dizinde login.php koymayın. Bunu istiyorum, çünkü hiç bir dahil dizinde util.php koymak mantıklı:

http://yourdomain.com/util.php

Sen htdocs klasörü dışında web erişilebilir dosyaları koyamazsınız, tarayıcınızda doğrudan açılmamalıdır 'database_functions.inc' gibi dosyalar için 'inc' klasörünü kullanarak olmalıdır:

http://localhost/index.php // directly accessible - goes in htdocs
http://localhost/login.php // directly accessible - goes in htdocs
http://localhost/register.php // directly accessible - goes in htdocs

http://localhost/util.php // you don't want people loading this file directly - put in 'inc'
http://localhost/database_functions.php // you don't want people loading this file directly - put in 'inc'

Ben size php.ini içinde ters eğik çizgi kaçış gerektiğine inanıyorum - bu yüzden C:\\myproject\\inc olmalıdır. Diğerleri işaret gibi Ancak, web sunucusu htdocs ağacının dışında bir dizine erişmesine izin vermez, çünkü, senin dizin include PHP dosyalara erişmek için bir tarayıcı kullanmak mümkün olmayacaktır.