【问题标题】:PHP script to upload html, css, js, jpg, png, ico, gif, zip, pdf and mp3 only仅上传 html、css、js、jpg、png、ico、gif、zip、pdf 和 mp3 的 PHP 脚本
【发布时间】:2014-06-21 13:44:01
【问题描述】:

现在我有兴趣从我的网站提供博客服务并对其进行测试。我想只允许用户上传 html、css、js、jpg、png、ico、gif、zip、pdf 和 mp3 文件,但我不想限制上传的大小。

现在我在 localhost 上测试我的网站,但我没有得到任何可靠的 php 脚本来上传文件,似乎 PHP 不允许上传 .ico 图像、.mp3 文件和加载的 zip 文件。 .

我不希望允许用户上传除指定扩展之外的其他扩展,但他们必须能够在制作 zip 后上传。 请帮帮我..

我会非常感谢你..

【问题讨论】:

标签: php file-upload


【解决方案1】:

您的插件必须加载 script.php 并返回一个 json 这是一个示例:

// test if image or video
$img = strstr($_FILES["myfile"]["type"], "image");
$video = strstr($_FILES["myfile"]["type"], "video");

if($img) {
    $output_dir = "../images/";
}
elseif($video) {
    $output_dir = "../videos/";
}

if(isset($_FILES["myfile"]))
{
    $ret = array();
    $error = $_FILES["myfile"]["error"];

    if(!is_array($_FILES["myfile"]["name"])) {      // Only on file
        $fileName = $_FILES["myfile"]["name"];
        move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName);
        $img_type = getImageSize("../images/".$_FILES["myfile"]["name"]);

        if(!$img_type) { // Si le contenu n'est pas une image
            unlink("../images/".$_FILES["myfile"]["name"]);
        }
        $ret[]= $fileName;
    }
    else {  // multiples files
      $fileCount = count($_FILES["myfile"]["name"]);

      for($i=0; $i < $fileCount; $i++) {
        $fileName = $_FILES["myfile"]["name"][$i];
        move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName);
        $ret[]= $fileName;
      }
    }
    var_dump($ret);
    echo json_encode($ret);
}

【讨论】:

    猜你喜欢
    • 2012-01-24
    • 2012-01-25
    • 2011-05-11
    • 2011-03-04
    • 2010-10-29
    • 1970-01-01
    相关资源
    最近更新 更多