Datei-upload-Fehler "application/octet-stream"

Weiß ich nicht wirklich viel von PHP. Aber irgendwie bin ich nicht in der Lage, hochladen .csv-Datei mit dem folgenden php. Ich habe das problem behoben mit upload_max Größe-bezogene Attribute. Funktioniert einwandfrei auf meinem lokalen, aber nicht auf die sandbox. Die Fehlermeldung "application/octet-stream". was soll ich tun?

Daten ist sehr einfach, gespeichert .csv-format

27589   16990   161.7000095 0.838494
27589   17067   161.7000095 0.838494
27820   17144   315.7000095 0.859458
27820   17221   315.7000095 0.859458
27820   17606   315.7000095 0.866033
27820   17683   315.7000095 0.866033

Fehler-Ausgabe: "-- CSV-Datei geladen werden: Ungültiger Typ: application/octet-stream"

<?php
ini_set('display_errors', 1); error_reporting(E_ALL);

//using upload at click from http://code.google.com/p/upload-at-click/
//FileData is the name for the input file

$file_result = "";
$file = $_FILES['Filedata'];

$allowedExtensions = array("csv", "txt");
$arrayVar = explode(".", $file["name"]);
$extension = end($arrayVar);

//commented out for strict standard error
//$extension = end(explode(".", $file["name"]));


function isAllowedExtension($fileName) {
    global $allowedExtensions;
    return in_array(end(explode(".", $fileName)), $allowedExtensions);
}

if($file["error"] > 0){
    echo "failure to upload the file >>> ". "Error code: ".$file["error"]."<br>";
}else{
    //echo " >>> CURRENT DIR: ".getcwd() . "\n";
    $workDir = getcwd();

    $dir = substr($workDir, 0, -10);
    $path = $file["name"];
    $newFileLoc = $dir.$path;

    $file_result.=
    "<br>     Upload: " . $file["name"] . "<br>" .
    "     Type: " . $file["type"] . "<br>" .
    "     Size: " . $file["size"] . "<br>" .
    "     file uploaded to: ".$newFileLoc."<br>";

    //txt - text/plain
    //rtf - application/msword
    //dat/obj - application/octet-stream
    //csv - application/vnd.ms-excel
    //maximum 200 MB file - 200,000,000 k

    if ($file["type"] == "application/vnd.ms-excel" || $file["type"] == "text/plain"){
        if( isAllowedExtension($file["name"]) )
        {
            if( $file["size"] < 200000000 )
            {
                move_uploaded_file($file["tmp_name"], $newFileLoc);
                echo "|".$path;//"filePath : " . $newFileLoc;
            }
            else
            {
                echo "Invalid file size: " . $file["size"] . "\n";   
            }
        }
        else 
        {   
            echo "Invalid extension: " . $file["name"]."\n";
        }
    }
    else
    {
        echo "Invalid type: " . $file["type"] . "\n";
    }
}
?>
Die ['type'] parameter wird von der sendenden client. Wenn Sie app/octet, dann ist das, was der browser liefert.
??????????????? sorry, nicht sicher, was Sie bedeuten und was Sie vorschlagen. Würden Sie bitte vorschlagen Verlauf der Aktion und zu beheben?
B, wenn Sie vorschlagen, die Verwendung der verschiedenen Browser, die ich ausprobiert habe, die aber noch nicht geladen. Viele web-Diskussionen vorgeschlagen, aber nichts schlüssig...

InformationsquelleAutor user1518600 | 2012-08-17

Schreibe einen Kommentar