4

私の問題はPHPとXMLの問題です。友人と一緒に画像アップロードAPIを使用していますが、XML文字列を作成することで問題が発生します。

image.php:

$simage = new SimpleImage();
    $xml = new SimpleXMLElement('<bb-upload></bb-upload>');
    if($key == get_key()){
        require 'upload.php';
    }
    else{
        $xml->addChild('error', "102 Fehlerhafter Zugriffs Key");
    }
    header("Content-type:text/xml;charset=utf-8");
    echo $xml->asXML();

upload.php:

if ($_FILES["image"]["error"] > 0) {
$xml->addChild('error', "101 Bilder fehler: " . $_FILES["image"]["error"]);
}
else{
  $data = array(
        'tmp'   => $_FILES["image"]["tmp_name"],
        'save'  => time().'-'.rand(1, 1000).'.jpg',
    );

    $filename = $data['save'];

    $simage->load($data['tmp']);
    $simage->resize(350,300);
    $simage->save("../data/$filename");

    $xml->addChild('error', "0");
    $xml->addChild('src', "http://*******.de/bb-image/data/$filename");
}

問題は、XMLで接続すればすべて問題ありませんが、画像をアップロードすると、次のようになります。error: error on line 1 at column 6: XML declaration allowed only at the start of the document

そしてこのような出力:

?<?xml version="1.0"?>
<bb-upload><error>0</error><src>http://*****.de/bb-image/data/1355858033-712.jpg</src>     </bb-upload>

なぜですか?コードで!!

4

1 に答える 1

0

XMLドキュメントの開始前に文字がある可能性があります。

これが通常、エラーの原因です。

スクリプトを16進ビューアで開きます。これは通常、エディタに表示されない文字で表示されることがよくあります。これらを削除します。たとえば、BOMなしでPHPファイルを保存します(とにかく常にそうする必要があります)。

于 2013-01-01T22:17:02.667 に答える