【问题标题】:PHP uploading JPG issuesPHP上传JPG问题
【发布时间】:2016-11-14 14:30:30
【问题描述】:

我有一个小问题。 我有一个网站,用户可以在其中上传图片,但上传了一些 .JPG 图片但不可见。 上传服务接受.jpg、.JPG、.jpeg、.JPEG 文件的大小也低于我允许的最大大小。

我可以通过 FileZilla 查看服务器上的上传文件夹来确定我上传的特定图像。

所有其他图像都显示没有任何问题。 我尝试上传的文件可能已损坏吗? 有没有办法检查文件是否损坏/损坏?

    $file_name = $file['image']['name'];
    $tmp_file = $file['image']['tmp_name'];
    $extention = end(explode('.',$file_name));

    if($extention == "png" || $extention == "jpg" || $extention == "jpeg" || $extention == "JPG" || $extention == "JPEG" || $extention == "svg"){

        try{

            $file_destination = '../files/'.$file_name;
            //var_dump($file_destination);

            if(move_uploaded_file($tmp_file,$file_destination)){

                echo    "
                        <div class='alert alert-success mainbox col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2'>
                           File uploaded successfully!
                        </div>
                       ";
            }else{
                echo    "
                        <div class='alert alert-danger mainbox col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2'>
                          Something went wrong;
                        </div>
                       ";
            }

        }catch(PDOException $ex){
            echo $ex->getMessage();
        }

提前感谢!

【问题讨论】:

  • 显示你尝试过的代码
  • 你真的认为我们是专家并且有能力在不看代码的情况下预测事情
  • 对不起,忘记上传我的代码了!给你!
  • 我对您的大小写检查感到不安 - 最好将它们全部转换为大写或小写并检查一次。你说可以看到ftp上传的文件。如果您通过 ftp 下载并尝试从您的计算机打开它会发生什么情况?
  • @gedq 当我从 FTP 客户端下载文件时,文件打开没有任何问题

标签: php file-upload


【解决方案1】:

也许您在使用 chmod 时遇到了问题。

上传后查看文件的权限。

【讨论】:

  • 包含上传文件的文件夹是 chmod 777,所以应该没有问题。该文件有 644
  • @Webbie ...您非常非常错误,777 是个问题,但原因完全不同:serverfault.com/questions/357108/…
  • 好的!能不能说的具体点?
  • @Webbie ...阅读链接并了解 *nix 权限。您应该永远需要 777 网络服务器上的任何东西;实际上,这为有权访问该框的每个人(包括访客 FTP 帐户)提供了总读/写/执行权限。
  • 谢谢!但问题依然存在。
猜你喜欢
  • 2013-02-18
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
  • 2016-05-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多