2010-06-22 47 views
1

如何發送$ _FILES到其他功能?

<?php 
function save(how get $_FILES["img"] ??) 
{ 
    //$img = $_FILES["img"]; How get $_FILES["img"] ?? 
    $user_file = $_FILES['img']['name']; 
    $file_temp = $_FILES['img']['tmp_name']; 
    $new = "new/"; 

    move_uploaded_file($file_temp, $new .$user_file.''); 
    echo "<br><b>OK<b>"; 
} 

if(isset($_POST['SEND'])){ 
    save($_FILES["img"]); 
} 
?> 
+0

你問如何將文件從一個目錄移動到另一個目錄,或者如何將值「$ _FILES ['img']」傳遞給函數? – darcy 2010-06-22 19:44:31

回答

3

實際變量是$_FILES; $_FILES['img']是存儲在該數組內的值。您不能將該值傳遞給函數,並將其存儲在某個名爲$_FILES['img']的東西中,但您不會真的想要。將它命名爲像$img,並使用:

function save($img) 
{ 
    $user_file = $img['name']; 
    $file_temp = $img['tmp_name']; 
    $new = "new/"; 

    move_uploaded_file($file_temp, $new .$user_file.''); 
    echo "<br><b>OK<b>"; 
} 
0

如果你做一個

var_dump($_FILES); 

,你可以看到各種良好的信息存儲在$ _FILES數組中,包括上傳的文件名和臨時位置。

0

$ _FILES - 通常的數組結構,您可以通過var_dump($_FILES);查看結構您可以像平常數組一樣使用它。

0

文件是一個(超)全球。你可以從一個函數內引用它。

如果要分解出一些功能,並調用一個函數作用於$ _FILES超全局數組的只是一些部分,你可以做這樣的事情:

function save($fileKey){ 
    $file = $_FILES[$fileKey]; 
    move_uploaded_file($file['tmp_name'],...); 
} 
save('img'); 
save('img2'); 

function save($arrayFile){ 
    move_uploaded_file($arrayFile['tmp_name'],...); 
} 
save($_FILES['img'); 
save($_FILES['img2']);