1

私はこのフォームを使用しています:

<form action="abc.php" method="post" name="fname">
   <input type="file" name="up" />
   <input type="submit" name="submit" value="Submit"/>
</form>

これは、この PHP によって処理されます。

$par = $_POST['up'];
$xml = @simplexml_load_file(file_get_contents($par));
$xml = $xml->getName();
echo $xml;

そして、このエラーメッセージが表示されます:unable to load external entity. どうすればこれを修正できますか?

4

3 に答える 3

1
  • ファイルを受け入れるには、次のenctype="multipart/form-data"属性が必要です。form

    <form enctype="multipart/form-data" action="abc.php" method="post" name="fname">
    
  • ファイルは$_FILESではなく に移動する$_POSTため、$par初期化は次のようにする必要があります。

    $par = $_FILES['up'];
    
  • そして、Dj Boris が言ったことは正しい方向に進んでいます。あなたの呼び出しsimplexml_load_fileは次のようになります。

    $xml = simplexml_load_file($par['tmp_name']);
    
于 2012-09-14T19:46:38.123 に答える
0

あなたは書いている:

simplexml_load_file(file_get_contents($par));

しかし、私はそうあるべきだと思います

simplexml_load_file($par);

http://php.net/manual/de/function.simplexml-load-file.phpによると

于 2012-09-13T18:21:33.520 に答える