Php 减少上传时的文件大小

Php 减少上传时的文件大小,php,image,upload,Php,Image,Upload,我有这个脚本上传一个图像到我的网站,但我想在上传之前减少文件大小,但不减少尺寸什么是最好的方法呢?如果可能的话,我更喜欢在上传的时候做,而不是在上传后整理 提前谢谢 if (isset($_POST['addphotogallery'])) { if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . "<br>"; } else

我有这个脚本上传一个图像到我的网站,但我想在上传之前减少文件大小,但不减少尺寸什么是最好的方法呢?如果可能的话,我更喜欢在上传的时候做,而不是在上传后整理

提前谢谢

if (isset($_POST['addphotogallery']))
{
    if ($_FILES["file"]["error"] > 0)
    {
      echo "Error: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    {
    }

    $allowedExts = array("gif", "jpeg", "jpg", "png", "GIF", "JPEG", "JPG", "PNG");
    $temp = explode(".", $_FILES["file"]["name"]);
    $extension = end($temp);

    if ((($_FILES["file"]["type"] == "image/gif") ||
         ($_FILES["file"]["type"] == "image/jpeg") ||
         ($_FILES["file"]["type"] == "image/jpg") ||
         ($_FILES["file"]["type"] == "image/pjpeg") ||
         ($_FILES["file"]["type"] == "image/x-png") ||
         ($_FILES["file"]["type"] == "image/png")) &&
        ($_FILES["file"]["size"] < 100000000) &&
         in_array($extension, $allowedExts))
    {
        if ($_FILES["file"]["error"] > 0)
        {
            echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
        }
        else
        {
            if (file_exists("gallery/" . $_FILES["file"]["name"]))
            {
                echo $_FILES["file"]["name"] . " already exists. ";
            }
            else
            {
                move_uploaded_file($_FILES["file"]["tmp_name"], "gallery/" . $_FILES["file"]["name"]);
                echo "Image Uploaded";
                $sql = "INSERT INTO gallery SET filename='".$_FILES["file"]["name"]."' , imagedesc='".$_POST['imgdesc']."' , imagename='".$_POST['imgname']."'";
                $res = mysql_query($sql);
            }
        }
    }
    else
    {
      echo "Invalid file";
    }
}
if(isset($\u POST['addphotogallery']))
{
如果($\u文件[“文件”][“错误”]>0)
{
echo“Error:”.$\u文件[“file”][“Error”]。“
”; } 其他的 { } $allowedExts=数组(“gif”、“jpeg”、“jpg”、“png”、“gif”、“jpeg”、“jpg”、“png”); $temp=explode(“.”,$_文件[“文件”][“名称”]); $extension=end($temp); 如果(($_文件[“文件”][“类型”]=“图像/gif”)|| ($_文件[“文件”][“类型”]=“图像/jpeg”)|| ($_文件[“文件”][“类型”]=“图像/jpg”)|| ($_文件[“文件”][“类型”]=“图像/pjpeg”)|| ($_文件[“文件”][“类型”]=“图像/x-png”)|| ($_文件[“文件”][“类型”]=“图像/png”))&& ($_文件[“文件”][“大小”]<100000000)&& in_数组($extension$allowedExts)) { 如果($\u文件[“文件”][“错误”]>0) { 回显“返回代码:”.$\u文件[“文件”][“错误”]。
”; } 其他的 { 如果(文件存在(“库/”$\u文件[“文件”][“名称”])) { echo$\u文件[“文件”][“名称”]。“已存在。”; } 其他的 { 移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\; 回显“上传图像”; $sql=“INSERT INTO gallery SET filename='”$\u FILES[“file”][“name”]”,imagedesc='”$\u POST[“imgdesc”]。“$\u POST[“imgname”]。”; $res=mysql\u查询($sql); } } } 其他的 { 回显“无效文件”; } }
您不能更改文件,除非您拥有该文件,否则您的代码只是从internet上找到的复制+粘贴的代码。您试图解决此问题的方法在哪里?我尝试了解了许多方法,但我无法解决此问题。我想知道这里是否有人可以解决此问题。如果
[错误]
为非零,则您应该完全中止处理。这意味着该文件无法上传,其余的处理是无用的-您可能根本没有要处理的文件。你也很容易受到攻击。我讨厌成为“那个家伙”,但mysql已经被弃用了。您应该考虑切换到MySQL或PDO。