簡體   English   中英

PHP錯誤僅存在於Internet Explorer中

[英]PHP Error only present in Internet Explorer

好的,這讓我感到困惑。 我的腳本可以在Mozilla中使用,但不能在IE中使用。 我在IE中收到此錯誤:

Warning: move_uploaded_file(uploads/properties/yh96gapdna8amyhhmgcniskcvk9p0u37/) [function.move-uploaded-file]: failed to open stream: Is a directory in /homepages/19/d375499187/htdocs/sitename/include/session.php on line 602

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpJkiaF3' to 'uploads/properties/yh96gapdna8amyhhmgcniskcvk9p0u37/' in /homepages/19/d375499187/htdocs/sitename/include/session.php on line 602

我在Session.php上的代碼是:

function addPhoto($subphotoSize,$subphotoType,$subphotoTmpname,$subphotoDesc,$subfieldID,$subsessionid){
    global $database, $form;

    /* Get random string for directory name */
    $randNum = $this->generateRandStr(10);

    $maxFileSize = 2500000; // bytes (2 MB)
    $filerootpath = PHOTOS_DIR.$subsessionid."/";
    if($subphotoType == "image/png"){
        $filename = $randNum.".png";
    } else if ($subphotoType == "image/jpeg"){
        $filename = $randNum.".jpg";
    }
    $fullURL = $filerootpath.$filename;

    /* Image error checking */
    $field = "photo";
    if(!$subphotoTmpname){
        $form->setError($field, "* No file selected");
    } else {
        if($subphotoSize > $maxFileSize) {
            $form->setError($field, "* Your photo is above the maximum of ".$maxFileSize."Kb");
        } else if (!is_dir($filerootpath)){
            mkdir($filerootpath,0777);
            chmod($filerootpath,0777);
        }
        move_uploaded_file($subphotoTmpname, "$fullURL");
    }
    /* Errors exist, have user correct them */
    if($form->num_errors > 0){
        return 1;  //Errors with form
    } else {
        if($subfieldID == "1"){ // If the first field...
            $is_main_photo = 1;
        } else {
            $is_main_photo = 0;
        }
        if(!$database->addNewPhoto($ownerID,$subphotoDesc,$fullURL,$userSession,$is_main_photo, $subsessionid)){
            return 2; // Failed to add to database
        }
    }
    return 0; // Success
}

它創建文件夾沒有問題,但不執行其他任何操作。

添加一條日志消息以查看$ subphotoType的值是什么。 我的猜測是,當您從Internet Explorer上傳文件時,它既不是image / png也不是image / jpeg,在這種情況下$ filename將為空,因為您沒有else子句。

if($subphotoType == "image/png"){
    $filename = $randNum.".png";
} else if ($subphotoType == "image/jpeg"){
    $filename = $randNum.".jpg";
} else {
    // No else! $filename will be empty.
}

如果您正確調整了錯誤報告設置,則應該看到一條通知,指出您正在嘗試使用未定義的變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM