2012-05-03 1 views
0

이것은 어리석은 것처럼 보일 수 있지만 여기에 붙어 있습니다. $photo_name2, 내가 업로드 일부 사진이 그들의 이름은 $photo_name1처럼 저장됩니다 ....이름을 연결하고 에코 할 수 없습니다.

$photo_name1 = $_FILES['pf5']['name']; 
$photo_name2 = $_FILES['pf2']['name']; 

지금 내가 루프

for($i = 1; $i<=4; $i++) 
{ 
echo $photo_name.$i;   

list($txt, $ext) = explode(".", $photo_name.$i); 

다음 에코는 1을 표시하고 자신의 이름을 검색하려면, 2,3 ... 등. 루프 내에서 이름을 검색 할 수 있도록 도와주세요.

답변

1
echo ${'photo_name'.$i}; 

트릭을 할해야합니다.

+0

감사합니다 Rijk .. 트릭을 달아주세요 :) – AssamGuy

+1

가능하면 항상 배열을 향해 가변 변수를 사용하는 사람을 가리켜 야합니다. – CodeCaster

1

당신은하지 explode

HTML가 구성되어 있지만 이름은 여러 형태를 사용하는 것을 의미한다 이렇게 될 것이 포어이

$_FILES['pf5']['name'][0]; 
$_FILES['pf5']['name'][1]; 
$_FILES['pf5']['name'][2]; 

처럼 오는 방법을 잘 모르겠습니다 implode을 사용할 수 있습니다 .....

$photo_name1 = $_FILES['pf5']['name']; 
$photo_name2 = $_FILES['pf2']['name']; 

상상
$names = array(); //have name array 
foreach ($_FILES ['image'] ['tmp_name'] as $key => $val) { 
    $names [] = $_FILES ['image'] ['name'] [$key]; //put names to array 
} 

echo implode(",", $names); // print the names 

HTML

<form method="post" enctype="multipart/form-data"> 
    <label for="file">Filename 1:</label> <input type="file" name="image[]" 
     id="file" /> <br /> <label for="file">Filename 2:</label> <input 
     type="file" name="image[]" id="file" /> <br /> <label for="file">Filename 
     3:</label> <input type="file" name="image[]" id="file" /> <br /> <input 
     type="submit" name="submit" value="Submit" /> 
</form> 
1

$photo_name을 배열로 만들지 않습니까?

$path_info = pathinfo($filename); 
$ext = $path_info['extension']; 
1

당신은 배열에 이름을 저장해야하며, 그런 다음 당신은 단순히

echo $photo_name[$i]; 

을 할 수 photo.foo.bar.jpg 일이 엉망이 갈 때 사람 이름을 파일 때문에 또한 당신은 파일 확장자를 결정하기 위해 pathinfo()를 사용한다 개별 변수가 아님 :

$photo_names[1] = $_FILES['pf5']['name']; 
$photo_names[2] = $_FILES['pf2']['name']; 

$photo_names[$i]을 사용하여 하나의 이름에 액세스 할 수 있습니다.