2014-12-25 1 views
0

안녕하세요, 저는 PHP에 대한 전형적인 정보가 필요합니다.사용자 제출시 selectbox로 이미지 가져 오기

여러 옵션이있는 선택 상자를 만들고 있습니다. 그리고 난 6 이미지뿐만 아니라 사용자가 1, 2, 3을 선택하고 image1, image2, image3을 제출할 때 페이지에 표시해야하고 사용자가 2, 4, 6을 선택하고 image2, image4, image6을 제출할 때 필요합니다. 쇼 그래서 내가 PHP 에서이 코드를 얻을 trid 너무 많은 buut 아무 행운 도와 줘서 고마워. 여기

<form method="get"> 
     <select name="images" multiple="multiple"> 
      <option name="img" value="image">1</option> 
      <option name="img" value="image">2</option> 
      <option name="img" value="image">3</option> 
      <option name="img" value="image">4</option> 
      <option name="img" value="image">5</option> 
      <option name="img" value="image">6</option> 
     </select> 
     <input type="submit" value="submit" name="submit"> 
    </form> 

PHP는

<?php 
//path to directory to scan. i have included a wildcard for a subdirectory 
$directory = "images/*/"; 

//get all image files with a .jpg extension. 
$images = glob("" . $directory . "*.jpg"); 

$imgs = ''; 
// create array 
foreach($images as $image){ $imgs[] = "$image"; } 

//shuffle array 
shuffle($imgs); 

//select first 20 images in randomized array 
$imgs = array_slice($imgs, 0, 20); 

//display images 
foreach ($imgs as $img) { 
echo "<img src='$img' /> "; 
} 
?> 

입니다하지만 난에이 작품이

+0

모든 옵션의 값은 '이미지'와 같습니다. 이것이 서버로 전송 될 것이므로 사용자가 선택한 것을 어떻게 탐지 할 것입니까? – Pevara

답변

1

당신이 참조해야 select field = "images []"이름 지정을 통한 사용자 선택 :

<select name="images[]" multiple="multiple"> 
<option value="1">1</option> 
.. 
</select> 

PHP에서 제출 된 값 $ _GET [ 'images']에 액세스 할 수 있습니다.

0

감사에게 제출이 계산서를 경우하는 '당신의 PHP 코드를 랩합니다 :

if (isset($_GET['submit'])) 
{ 
    // Your code 
} 
0

실수로 2 개가 발견되면 거기에서 계속할 수 있습니다. 1. 양식에 양식에 액션을 포함해야합니다. - 열리는 파일의 이름을 입력하십시오. 제출 후 $ _GET을 통해 데이터를 수신합니다.

<?php 
//path to directory to scan. i have included a wildcard for a subdirectory 
$directory = "imagesend/*/"; 

//get all image files with a .jpg extension. 
$images = glob("" . $directory . "*.jpg"); 

$imgs = ''; 
// create array 
foreach($images as $image){ $imgs[] = "$image"; } 

//shuffle array 
shuffle($imgs); 

//select first 20 images in randomized array 
$imgs = array_slice($imgs, 0, 20); 


?> 
<form method="get" action="XXX.php"> 
<select name="images" multiple="multiple"> 
<?php foreach ($imgs as $img): ?> 

<option name="<?php echo $img; ?>" value="<?php echo $img; ?>"><img src="<?php echo $img; ?>"/></option> 

<?php endforeach; ?> 
</select> 
<input type="submit" value="submit" name="submit"> 
</form> 
0

작업 코드

:

그것은 이런 식으로 뭔가를

보일 것 ... endforeach 루프 대신 옵션 행을 반복의 사진 데이터를 인쇄 - 2. 당신은 foreach 문을해야

<html> 
<head> 
<title>Listing 9.15 A file upload script</title> 
</head> 
<?php 
if (isset($_POST['img'])) 
{ 
    $im="images/".$_POST['img'].".jpg"; 
    echo "".$im; 
    echo "<img src='".$im ."'/>"; 
} 
else 
{ 
    print "Error"; 
} 

?> 
<body> 
<form enctype="multipart/form-data" action="<?php print $_SERVER['PHP_SELF'] ?>" method="POST"> 
     <select name="img" multiple="multiple"> 
      <option value="image1">1</option> 
      <option value="image2">2</option> 
      <option value="image3">3</option> 
      <option value="image4">4</option> 
      <option value="image5">5</option> 
      <option value="image6">6</option> 
     </select> 
     <input type="submit" value="submit" name="submit"> 
    </form> 
</body> 
</html>