簡體   English   中英

圖片上傳腳本可選上傳

[英]Image upload script optional upload

我正在嘗試更改當前的圖片上傳腳本,因此上傳圖片是可選的; 我自己通過注釋掉腳本的部分來修改它,但遺憾的是腳本不斷輸出錯誤消息“錯誤的文件類型”。

如果任何人可以幫助如何編寫腳本那將是非常感謝(Y)

$image = '';
if (isset($_FILES['image']) === true) {
    $max_file_size = 2000000;
    /*if (empty($_FILES['image']['name']) === true) {
        $errors['image'] = "You have not chosen a image";
    } */ if( $_FILES['image']['size'] > $max_file_size ) {
        $errors['image'] = "File size too large";
    } else {
        $allowed = array('jpg', 'JPG', 'jpeg', 'gif', 'png', 'PNG',);

        $file_name = $_FILES['image']['name'];
        $file_extension = end((explode('.', $file_name)));
        $file_temp = $_FILES['image']['tmp_name'];

        if (in_array($file_extension, $allowed) === true) {
            $new_file_name = substr(md5(time()), 0, 10) . '.' . $file_extension;
            $image = $file_path = 'images/collections/' . $new_file_name;
            move_uploaded_file($file_temp, $file_path);
        } else {
            $errors['image'] = 'Incorrect file type. Allowed: ' . (implode(', ', $allowed));
        }
    }
}


<?php if (isset($errors['image'])/* && !empty($errors['image'])*/):?>
  <p class="c-img-error"><?php echo $errors['image']; ?></p>
<?php endif ;?>

  <div class="browse"><input type="file" name="image" value="" /> <span></span></div>

我將第一個if語句更改為如此 -

if ( isset( $_FILES["image"] ) && !empty( $_FILES["image"]["name"] ) ) {

然后,$ errors數組中不會記錄任何錯誤,因為如果沒有圖像文件,當前腳本將進入文件擴展名檢查。

$image = '';
if (isset( $_FILES["image"] ) && !empty( $_FILES["image"]["name"] ) ) {
    $max_file_size = 2000000;
    /*if (empty($_FILES['image']['name']) === true) {
        $errors['image'] = "You have not chosen a image";
    } */ if( $_FILES['image']['size'] > $max_file_size ) {
        $errors['image'] = "File size too large";
    } else {
        $allowed = array('jpg', 'JPG', 'jpeg', 'gif', 'png', 'PNG',);

        $file_name = $_FILES['image']['name'];
        $file_extension = end((explode('.', $file_name)));
        $file_temp = $_FILES['image']['tmp_name'];

        if (in_array($file_extension, $allowed) === true) {
            $new_file_name = substr(md5(time()), 0, 10) . '.' . $file_extension;
            $image = $file_path = 'images/collections/' . $new_file_name;
            move_uploaded_file($file_temp, $file_path);
        } else {
            $errors['image'] = 'Incorrect file type. Allowed: ' . (implode(', ', $allowed));
        }
    }
}

暫無
暫無

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

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