我正在尝试使用以下代码:
if (isset($_POST['file'])){
if(file_exists($_POST['file'])){
echo "here";
$fixture = simplexml_load_file($_POST['file']) or die ('error');
}
}
它回应'here',但它不会加载文件。
有什么想法吗?
<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>
答案 0 :(得分:0)
使用libxml_get_errors()来解决您的详细错误,否则我们就可以猜到发生了什么。
<?php
// somewhere at the top
libxml_use_internal_errors(true);
// ....
foreach(libxml_get_errors() as $error) {
echo $error->message , '(', $error->file , ':' , $error->line , ')<br>';
}