Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多图像上传在iphone和ipad中不起作用_Php_Iphone_Ipad_File Upload - Fatal编程技术网

Php 多图像上传在iphone和ipad中不起作用

Php 多图像上传在iphone和ipad中不起作用,php,iphone,ipad,file-upload,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"],"up

我正在尝试使用上传图像,它在浏览器中工作得非常完美,但在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>

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

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


我想知道它在浏览器上是如何工作的。如果所有3个图像都有相同的名称,那么它将相互覆盖,在上载文件夹中只留下一个图像谢谢您的快速响应。是的,我显示的数组是iphone屏幕截图,但是如果我们使用print_r()并在浏览器中检查它,它的不同名称及其精细程度。问题只出现在ipad和iphone上。请帮助:)您是否为所有三个字段选择了相同的图像?我相信在浏览器中,您为每个输入字段选择了三个不同的图像,但在iDevices上,您选择的是相同的图像在iphone和ipad中,所有图像都不相同,它们的名称也不相同,尽管这极不可能,
rand()
可以返回相同的值两次。帮我检查一下。。
[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
    )
$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);