Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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模拟$\u文件图像上传?_Php_Arrays - Fatal编程技术网

如何用PHP模拟$\u文件图像上传?

如何用PHP模拟$\u文件图像上传?,php,arrays,Php,Arrays,经过一个又一个小时的努力,我终于决定寻求帮助,因为我自己做不到 我有3个URL,所有图片我都想下载/保存到浏览器中,并将其数据设置为可访问的关联数组,就像我使用HTML表单上传它们一样 我无法正确地模仿,在阅读了文档之后我能够达到的最佳效果(我认为这是解决方案),并且最终失败了,因为我没有像我需要的那样上传文件本身,我只是在阵列上放置了一些信息 如果很难理解,这就是我想要实现的目标: $url = array('url.com/img.jpeg','url.com/img.jpeg','url.

经过一个又一个小时的努力,我终于决定寻求帮助,因为我自己做不到

我有3个URL,所有图片我都想下载/保存到浏览器中,并将其数据设置为可访问的关联数组,就像我使用HTML表单上传它们一样

我无法正确地模仿,在阅读了文档之后我能够达到的最佳效果(我认为这是解决方案),并且最终失败了,因为我没有像我需要的那样上传文件本身,我只是在阵列上放置了一些信息

如果很难理解,这就是我想要实现的目标:

$url = array('url.com/img.jpeg','url.com/img.jpeg','url.com/img.jpeg');

foreach($url as $img){
    // download all 3 images to the browser/local machine temporarily
    // and access them via a variable outside of the foreach scope
    // like below
}

Array
(
    [0] => Array
        (
            [name] => Array
                (
                    [0] => 0.24654000 150113339659797a543c31f24.jpg
                    [1] => 0.14997300 1503597010599f11d2249df30.jpg
                    [2] => 0.14997300 1503597010599f11d2249df30.jpg
                )

            [type] => Array
                (
                    [0] => image/jpeg
                    [1] => image/jpeg
                    [2] => image/jpeg
                )

            [tmp_name] => Array
                (
                    [0] => C:\Users\--\AppData\Local\Temp\php143.tmp
                    [1] => C:\Users\--\AppData\Local\Temp\php154.tmp
                    [2] => C:\Users\--\AppData\Local\Temp\php155.tmp
                )

            [error] => Array
                (
                    [0] => 0
                    [1] => 0
                    [2] => 0
                )

            [size] => Array
                (
                    [0] => 9425
                    [1] => 55560
                    [2] => 55560
                )
        )
)

我现在正在查看tmp_名称及其位置,也许可以使用
file_get_contents
put_file_contents
将文件内容临时放到本地机器上,但是如何读取文件和获取关联数组,这部分根本不清楚。

您是在尝试模拟
$\u文件
数组,还是只是在尝试将文件从一个位置移动到另一个位置?就像你想用这种方法测试其他东西一样?@Rasclatt,我只是想读取文件并将信息输入数组,然后可能会将数组中的数据传递给以后的move_Upload_文件。问题是你误解了事情的工作原理。请注意,您没有移动文件,您是从另一个源下载文件,这意味着您需要先在系统上写入(保存)该文件,并且当您从表单上载文件时使用$\u FILES数组,但实际情况并非如此。您可以在保存后硬编码在其上添加保存的文件,但我不建议这样做。这会把事情弄得一团糟。我明白了,我想我必须改变逻辑结构才能让它正常工作。你是想模拟
$\u文件
数组,还是只是想把文件从一个地方移到另一个地方?就像你想用这种方法测试其他东西一样?@Rasclatt,我只是想读取文件并将信息输入数组,然后可能会将数组中的数据传递给以后的move_Upload_文件。问题是你误解了事情的工作原理。请注意,您没有移动文件,您是从另一个源下载文件,这意味着您需要先在系统上写入(保存)该文件,并且当您从表单上载文件时使用$\u FILES数组,但实际情况并非如此。您可以在保存后硬编码在其上添加保存的文件,但我不建议这样做。这会把事情弄得一团糟。我明白了,我想我必须改变逻辑结构才能让这一切顺利进行。