将$ _FILES移动到$ _GET

时间:2011-02-18 23:55:33

标签: php

我有一个需要编辑的旧功能

doSome($_FILES['image']);

我的问题是如何使用相同的功能从GET获取文件而不是上传?

如果我改为

doSome($_GET['image']);

它似乎不起作用......

2 个答案:

答案 0 :(得分:2)

通过表单上传的文件将始终以PHP的$_FILES超全局形式结束。你无法改变它。

如果您修改了PHP的源代码我可以。


如果您只是将文件名传递给doSome()函数,则可以检查函数的参数是否为数组,并相应地处理它。

  

(Array = from $ _FILES,String = NOT from $ _FILES)

答案 1 :(得分:1)

假装选项将是:

doSome( array("tmp_name" => "data:n/a,".$_GET["image"]) );

但实际上你不会想要或至少应该创建一个临时文件并更完整地模仿$ _FILES子阵列。

重写旧函数以接受文件名或字符串内容会更明智。