从iphone4上传图片到网站无法正常工作

时间:2016-01-10 19:59:27

标签: php iphone

首先,我的网站不是公共网站,但我希望用户能够通过手机上传照片。我正在使用运行iOS 9.x的iPhone 4。使用本机Safari浏览器。

上传表单我使用Chrome / Firefox等笔记本电脑完美运行,表格文字确实从我的iPhone上传,但照片无法上传,我的代码看不出任何问题。选择照片的过程可以正常工作,但是从iPhone上传似乎超时,尽管如上所述,表格(姓名,电话)中的文字确实已发送。也许有人可以看看,如果我遗失了某些东西,或者这可能是Safari / iPhone问题(没有错误),请告诉我。这是代码......

<?php


     if($_POST['Name'] and $_POST['Telephone']){
        //info sent from form
        $Name =$_POST['Name'];
        $Telephone =$_POST['Telephone'];

        // To help protect from mysql injection
        $Name = stripslashes($Name);
        $Telephone = stripslashes($Telephone);

        $Name = mysql_real_escape_string($Name);
        $Telephone = mysql_real_escape_string($Telephone);

        $sql = "INSERT into Clients (Name, Telephone) VALUES ('$Name',    '$Telephone')";
        mysql_query($sql) or die(mysql_error());
    }

        if(isset($_FILES['image'])){
        $errors= array();
        $file_name = $_FILES['image']['name'];
        $file_size =$_FILES['image']['size'];
        $file_tmp =$_FILES['image']['tmp_name'];
        $file_type=$_FILES['image']['type'];   
        $file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));

        $extensions= array("jpeg","jpg","png");         
        if(in_array($file_ext,$extensions)=== false){
          $errors[]="extension not allowed, please choose a JPEG or PNG file.";
        }
        if($file_size > 2097152){
          $errors[]='File size must be less than 2 MB';
        }               
        if(empty($errors)==true){
            move_uploaded_file($file_tmp,"images/clients/".$Name.".jpg");
            echo "Success";
        }else{
            print_r($errors);
        }
    }
?>

<form enctype="multipart/form-data" action="" method="POST">
<input name="Name" type="text" id="ADD-CLIENT-FORMS" maxlength="50" placeholder="Name" required>
<BR><BR>
<input name="Telephone" type="text" id="ADD-CLIENT-FORMS" maxlength="20" placeholder="Telephone" required>
<BR><BR>
<input id="image" type="file" name="image" accept="image/*" />
<button id="image_alt" type="button">Image (Optional)</button>
<BR><BR>        
<input type="submit"/>
</form>

1 个答案:

答案 0 :(得分:1)

实际上上面的代码是正确的,它做了它应该做的事情,对其他人可能有用,所以我会把它放在这里。我遇到问题的原因是我不希望iPhone照片大于上传脚本的php部分强加的2兆字节限制。嗯,他们更大 - 照片是一个惊人的3264px x 2448px和超过3兆字节。我最好的办法是在从iPhone上传照片之前创建一个调整照片大小的功能,不仅可以节省用户时间和带宽,还可以节省我的存储空间,但这一步将是另一章。

除了添加更多安全性之外,我对上述代码的唯一建议是使用CSS将错误警告定位在屏幕上,以便清楚地看到它们!

感谢所有可能花了一些时间的人....