php - 多张图片上传在 iphone 和 ipad 中不起作用

标签 php iphone ipad file-upload

我正在尝试使用上传图片,它在浏览器中完美运行,但在 iphone 和 ipad 中不起作用。下面是 iphone 的代码和屏幕截图

test.php
---------
<?php 
    if(isset($_POST['submit']))
    {
        //echo "<pre>";
        //print_r($_FILES);
        //exit;
        copy($_FILES["image1"]["tmp_name"],"upload/".$_FILES["image1"]["name"]);
        copy($_FILES["image2"]["tmp_name"],"upload/".$_FILES["image2"]["name"]);
        copy($_FILES["image3"]["tmp_name"],"upload/".$_FILES["image3"]["name"]);
        echo "Stored in: " . "upload/" . $_FILES["image1"]["name"];
        echo "<br>";
        echo "Stored in: " . "upload/" . $_FILES["image2"]["name"];
        echo "<br>";
        echo "Stored in: " . "upload/" . $_FILES["image3"]["name"];
    }
?>
<!doctype html>
<html lang="en">
   <head>
      <meta charset="utf-8">
      <title>demo</title>
   </head>
   <body>
      <form method="post" enctype="multipart/form-data"> 
         image 1 : <input type="file" name="image1" ><br/>
         image 2 : <input type="file" name="image2" ><br/>
         image 3 : <input type="file" name="image3" ><br/>
         <input type="submit" name="submit" value="Submit">
      </form>
   </body>
</html>

iphone 截图

正如我们从下面的数组中看到的那样,它显示在 iphone/ipad 中,所有图片名称都相同,当我尝试检查上传文件夹时,它只显示最后一张图片,即第三张图片。

[image1] => Array
    (
        [name] => image.jpg
        [type] => image/jpeg
        [tmp_name] => /tmp/phpewhdwx
        [error] => 0
        [size] => 44009
    )

[image2] => Array
    (
        [name] => image.jpg
        [type] => image/jpeg
        [tmp_name] => /tmp/phpwYDYBM
        [error] => 0
        [size] => 27762
    )

[image3] => Array
    (
        [name] => image.jpg
        [type] => image/jpeg
        [tmp_name] => /tmp/php0vqnB2
        [error] => 0
        [size] => 32961
    )

最佳答案

好的,我找到了解决方案:)

我们在 ipad 和 iphone 中遇到问题,因为它们将所有图像的名称都用作 image.jpg,因此如果我们使用多个图像,这将被覆盖,因此我们需要在复制时向名称添加 rand() 或任何唯一键文件夹。

$image1 = rand().$_FILES["image1"]["name"];
    $image2 = rand().$_FILES["image2"]["name"];
    $image3 = rand().$_FILES["image3"]["name"];

    copy($_FILES["image1"]["tmp_name"],"upload/".$image1);
    copy($_FILES["image2"]["tmp_name"],"upload/".$image2);
    copy($_FILES["image3"]["tmp_name"],"upload/".$image3);  

关于php - 多张图片上传在 iphone 和 ipad 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22189552/

相关文章:

php - FancyBox 3 根据窗口和纵横比调整大小

php - 设置从 mysql 数据库提取的下拉列表 php 的默认值

iphone - 执行 startAnimating 时的 UIImageView 动画延迟

c++ - 关于 "building a library"的初学者问题,特别是在 iPhone 上的 Xcode 中

jquery - 更改焦点表单元素时禁用滚动 ipad Web 应用程序

php - 将 C 语言转换为 PHP 以获得 CRC16 函数

iphone - 通过 WIFI 连接到 Safari Web Inspector

ios - 如何将 UIPopoverView 显示为 map View 的注释? (iPad)

objective-c - iPad - 弹出框颜色

php - Symfony - 检查 Controller 是否存在