Ben bu file1.php:PHP dosyaları arasında bir değişken olarak bir dosya adı nasıl iletilir?
<?php
// Start the session
session_start();
?>
<?php
$path_to_check = '';
$needle = $_POST['query'];
foreach(glob($path_to_check . '*.xml') as $filename)
{
foreach(file($filename) as $fli=>$fl)
{
if(strpos($fl, $needle)!==false)
{
echo $filename . ' on line ' . ($fli+1) . ': ' . $fl;
}
}
}
$_SESSION["hit"] = $fli;
header('Location: file2.php');
?>
Mevcut dizindeki tüm XML dosyaları arasında bunun için bir formdan arayacağınız kelimeyi ve aramal alır. Bu dizindeki XML dosyaları sadece iki tanesidir; 1.xml ve 2.xml.
: Ben 2.xml bir kelime husul aramak Say, sonra değişken $ _SESSION [ "hit"] ve file2.php kullanmak olarak "2.xml" kaydetmek istiyor Maalesef<?php
// Start the session
session_start();
?>
<?php
echo $_SESSION["hit"];
// Load XML file
$xml = new DOMDocument;
$xml->load($_SESSION["hit"]);
// Load XSL file
$xsl = new DOMDocument;
$xsl->load('stylesheet.xsl');
// Configure the transformer
$proc = new XSLTProcessor;
// Attach the xsl rules
$proc->importStyleSheet($xsl);
echo $proc->transformToXML($xml);
?>
, o halde sadece "2" ve "2.xml"
echo $_SESSION["hit"];
döner,
$xml->load($_SESSION["hit"]);
, XML dosyası 2.xml'yi (değişken yalnızca 2 döndürdüğü için) yüklemez.
Burada yanlış olan ne yapıyorum? peşin
çok teşekkürler size oturum değişkeni değil satır numarası dosya adını kaydetmek gerekir
/Paul
'$ fli' hattının bir sayıdır :-) ve bir dosya adı değil. –
$ dosya adında ve echo $ _SESSION ["hit"] olarak değiştirdim; şimdi doğru '2.xml' döndürür. Ancak, $ xml-> load ($ _ SESSION ["hit"]) 'da aktarılmayacak; Belki de değişkeni geçmek yanlış bir sözdizimidir? –