我試圖讓下面的代碼工作:使用simplexml_load_file不加載文件
if (isset($_POST['file'])){
if(file_exists($_POST['file'])){
echo "here";
$fixture = simplexml_load_file($_POST['file']) or die ('error');
}
}
呼應的「這裏」,但它不會加載該文件。
任何想法?
<HTML>
<HEAD>
<TITLE>File Upload</TITLE>
</HEAD>
<BODY>
<?php
if ((($_FILES["file"]["type"] == "text/xml"))
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"]/1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists(time() . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
time() . $_FILES["file"]["name"]);
echo "Stored in: " . time() . $_FILES["file"]["name"];
echo "<form action='league.php' method='post'>";
echo "<input type='hidden' value='" . time() .
$_FILES["file"]["name"] . "' name='file'>";
echo "<input type='submit' /></form>";
}
}
}
else
{
echo "Invalid file";
}
?>
</BODY>
</HTML>
該文件被上傳是XML文件和文件名被髮布爲隱藏變量前面的代碼。
<?xml version="1.0"?>
<title>Results</title>
<results>
<result>
<hometeam>
<name>Team A</name>
<score>6</score>
</hometeam>
<awayteam>
<name>Team B</name>
<score>0</score>
</awayteam>
</result>
</results>
什麼是您打開的文件?它只是明文嗎?或者你是否正在嘗試打開某人正在使用文件上傳字段的文件?爲您的輸入法顯示一些HTML。 – nickw444 2012-03-23 10:26:53
這不是一個正確的方法來知道xml文件是否加載 – Hkachhia 2012-03-23 10:27:28
所以你有一個來自'die' func的「錯誤」消息? – deadrunk 2012-03-23 10:30:40