【问题标题】:PHP Accepting only one extension type to upload. The file is an unknown extension typePHP 只接受一种扩展类型来上传。该文件是未知的扩展类型
【发布时间】:2016-11-08 03:56:46
【问题描述】:

这是我的第一个问题。我是 PHP 新手,但我一直在寻找这个问题的答案大约一个小时,但没有运气。也许我只是没有正确阅读它,但我希望你们能帮助我。 我试图让人们只将一种文件类型上传到我的网站。该文件类型是 .osk 。我不确定我是否正确执行此操作,但我已将其设置为这样

$types = array ('application/osk'); 

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

$target_path = "skins/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 


if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path, $types)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}
?>

每当我提交该特定文件类型时都会收到错误消息。如果我提交其他任何内容,我也会收到错误消息,但这是意料之中的。 对不起,如果代码是一团糟。正如我之前所说,我对此很陌生。但是,如果有人能帮我弄清楚这一点,我会很高兴的。

【问题讨论】:

    标签: php mime


    【解决方案1】:

    试试这个代码

    $file_parts = pathinfo($_FILES['uploadedfile']['name']);
    // Check file is osk
    if($file_parts['extension'] == 'osk')
    {
      // move file
      if(move_uploaded_file($_FILES['image']['tmp_name'], $target_path))
      {
        echo "Uploaded";
      }
      else
      {
        echo "File was not uploaded";
      }
    }
    

    【讨论】:

    • 你帮了我很多。尽管我并没有完全使用所有这些代码,但只要知道我可以检查文件扩展名就很有帮助。我合并了两个 if 语句和繁荣。这太神奇了。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 2017-07-23
    • 2022-12-06
    • 1970-01-01
    • 2017-04-22
    • 2020-12-30
    相关资源
    最近更新 更多