Nasıl CodeIgniter oluşturulan sayfaları dahil etmek?

4 Cevap php

What would be the easiest way to include a CI file? Let's say I want to include http://example.com/ci/index.php/mycontroller/ on example.com

example.com CI çalışmaz ve ben ('ci / index.php / mycontroller') dahil yapamazsınız.

4 Cevap

Ben CI kontrolörün işlevleri çağırmak için görünmüyor olabilir, ben sadece jQuery ile sayfa yüklemek için en kolay karar verdi:

$('#myDiv').load('ci/index.php/mycontroller', {}, function(){
        $('#myDiv #loading').hide();
        $('#myDiv #data').slideDown(500);
});

Sadece, PHP allow url includes yapılandırmış olduğunuz varsayarsak ...

include('http://example.com/ci/index.php/mycontroller/');

(PHP 4.3.0 + gerektirir)

Sadece display the output CI script, URL'yi açabilir istiyorsanız, içeriğini ve çıkış onları okumak - ya readfile() kullanın. CI app stand noktadan itibaren, istek dahil sunucu (değil son kullanıcı) geliyor olacak ve kurabiye / oturumu geçmek için birlikte cURL gibi bir şey kullanarak gerektirir vars.

Eğer aslında include the source code istiyorsanız, bu mümkündür, ancak bir güvenlik riski. Bu konu hakkında birkaç SO soru vardır:

Onlar CI sitesi sayfayı yürütmek, ama sadece php dosyasının içeriğini çıktılar olmadığından emin olmak gerekir, ve aslında bir URL'den kodu da dahil olmak üzere inanılmaz tehlikeli olduğunu edeceğiz kaynağı dahil etmek (diğer şeyler arasında) unutmayın.

Aslında dahil siteyi güvenen konum dahil olmak üzere, sunucu sonra sorgulamadan yürüteceğini (iyi) kod sağlamak için (ve tüm sunucuları istek geçer).

Eğer çıkış yapmak istediğinize bağlı olarak, REQUEST_URI ayarlamak gerekir ya da her türlü CI isteği belirlemek için kullanır ve sonra sadece önyükleme dosyasını dahil ...

EDIT: Aslında, ben bu mümkün eğer (- yani bize söyleyin lütfen tekrar, bu yapmak istediğiniz tam olarak ne bağlıdır), başka bir yol etrafında gitmek için daha iyi olacağını düşünüyorum. Ne demek sadece komut içeren bir CodeIgniter denetleyicisi oluşturmak olduğunu ...