Bir değişkene bir PHP dosyası yüklemem gerekiyor. Sevmekinclude();
Bunun gibi basit bir HTML dosyası yükledim:
$Vdata = file_get_contents("textfile.txt");
Ama şimdi bir PHP dosyası yüklemem gerekiyor.
Yanıtlar:
PHP tarafından oluşturulan içeriği almak istediğinizi varsayalım , öyleyse şunu kullanın:
$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');
Aksi takdirde , PHP dosyasının kaynak kodunu almak istiyorsanız , .txt dosyasıyla aynıdır:
$Vdata = file_get_contents('path/to/YOUR/FILE.php');
eval()
veya daha karmaşık bir kodla uğraşıyorsanız: github.com/nikic/PHP-Parser .
$Vdata = file_get_contents(get_template_directory_uri() . '/path/to/file/in/theme.text');
ob_start();
include "yourfile.php";
$myvar = ob_get_clean();
$myvar = ob_get_clean();
( ob_get_clean belgelerine bakın )
Eğer http: // kullanıyorsanız , eyze'nin önerdiği gibi, sadece PHP betiğinin çıktısını okuyabileceksiniz. PHP betiğinin kendisini, yalnızca çalışan betiğinizle aynı sunucuda ise okuyabilirsiniz. Daha sonra şöyle bir şey kullanabilirsiniz
$Vdata = file_get_contents('/path/to/your/file.php");
Dosyayı web sunucusu üzerinden çalıştırmadan yüklemek istiyorsanız, aşağıdakiler çalışmalıdır.
$string = eval(file_get_contents("file.php"));
Bu yükleyecek ve daha sonra dosya içeriğini değerlendirecektir. PHP dosyasının değerlendirilmesi için <?php
ve ?>
etiketleriyle tam olarak oluşturulması eval
gerekir.
Dosyanızda şöyle bir dönüş ifadesi varsa:
<?php return array(
'AF' => 'Afeganistão',
'ZA' => 'África do Sul',
...
'ZW' => 'Zimbabué'
);
Bunu aşağıdaki gibi bir değişkene götürebilirsiniz:
$data = include $filePath;
Teorik olarak sadece fopen ve ardından stream_get_contents kullanabilirsiniz.
$stream = fopen("file.php","r");
$string = stream_get_contents($stream);
fclose($stream);
Bu sizin için dosyanın tamamını $ string olarak okumalı ve değerlendirmemelidir. Yerel yolu belirttiğinizde file_get_contents'ın çalışmamasına şaşırdım.
Alternatif olarak, çıktı arabelleğini başlatabilir, dahil etme / gerektirme yapabilir ve ardından arabelleğe almayı durdurabilirsiniz. Ob_get_contents () ile, diğer PHP dosyası tarafından çıkarılan şeyleri bir değişkene alabilirsiniz.
sunucunuz allow_url_fopen kapalıysa file_get_contents () çalışmayacaktır . Çoğu paylaşılan web barındırıcısı, güvenlik riskleri nedeniyle varsayılan olarak kapatılmıştır. Ayrıca, PHP6'da , allow_url_fopen seçeneği artık mevcut olmayacak ve tüm işlevler, sürekli olarak kapalı olarak ayarlanmış gibi davranacaktır. Yani bu, kullanılması çok kötü bir yöntem.
Dosyaya http üzerinden erişiyorsanız kullanmak için en iyi seçeneğiniz cURL'dir.