2011-02-18 17 views
0

我有一個老的功能,我需要編輯

doSome($_FILES['image']); 

我的問題是我怎麼可以使用相同的功能,以獲得從拿到文件而不是上傳的?

如果我改變

doSome($_GET['image']); 

它似乎沒有工作...

+0

聽起來好像你很困惑。你是否將表單的enctype設置爲'multipart/form-data'? – karim79 2011-02-18 23:59:47

回答

2

文件通過表單上傳總會在PHP的超全局$_FILES結束。你不能改變這一點。

你可以,如果你修改PHP的源我想。


如果你談論的只是傳遞一個文件名給doSome()功能,您可以檢查是否函數的參數是一個數組或沒有,並相應地處理它。

(陣列= $ _FILES中,字符串從$ _FILES = NOT)

1

的僞造,它的選擇是:

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

但實際上,你不想說或者至少應該創建一個臨時文件並更完整地模仿$ _FILES子數組。

重寫舊函數以接受文件名或字符串內容會更明智。