2013-07-25 3 views
0

Хорошо, ребята, это может показаться такой проблемой новичка, но у меня проблемы с циклом, с которыми я просто не могу работать. Я просто пытаюсь загрузить несколько изображений на моем первом сайте проекта.

Когда я отправил эту тестовую php-страницу вверх, он загружает все файлы, которые я запросил у них, ; со всеми изображениями, которые я хочу загрузить, загружаемыми в указанном каталоге.

<?php 
$files = $_FILES['fileField']; 
for ($x = 0; $x < count($files['name']); $x++) 
{ 
     $name  = $files['name'][$x]; 
     $tmp_name = $files['tmp_name'][$x]; 
     move_uploaded_file($tmp_name, "property_images/$property_name/" . $name); 
     header("location: property_list.php"); 
     exit(); 
} 
?> 

Однако, когда я попытался в том числе мой парсер, хотя это идет в правильный каталог, только первый файл будет загружен

<?php 
if(isset($_POST['property_name'])){ 
$property_name = mysql_real_escape_string($_POST['property_name']); 
$district = mysql_real_escape_string($_POST['district']); 
$address = mysql_real_escape_string($_POST['address']); 
$property_type = mysql_real_escape_string($_POST['property_type']); 

$sql = mysql_query("SELECT id FROM mydb WHERE property_name='$property_name' LIMIT 1"); 
$propertyMatch = mysql_num_rows($sql); 
if($propertyMatch > 0) 
{ 
    echo 'Sorry, you tried to place a duplicate "Property Name" into the system, <a href="property_list.php">click here</a>'; 
exit(); 
} 

$sql = mysql_query("INSERT INTO mydb (property_name, district, address, property_type) VALUES ('$property_name','$ district','$address','$property_type')")or die (mysql_error()); 

if (!file_exists("property_images/$property_name")) 
     { 
     mkdir("property_images/$property_name"); 
     } 
$files = $_FILES['fileField']; 
for ($x = 0; $x < count($files['name']); $x++) 
{ 
     $name  = $files['name'][$x]; 
     $tmp_name = $files['tmp_name'][$x]; 
     move_uploaded_file($tmp_name, "property_images/$property_name/" . $name); 
     header("location: property_list.php"); 
     exit(); 
} 
} 
?> 

Количество кода работает отлично, так что я думаю, что его либо эти {} педерасты или мне нужно очистить глаза. Любая помощь была бы оценена.

+0

Учитывается ли ваша форма 'array'? Например, например 'file []'? Как выглядит ваша форма? –

+0

Да, это делает Fred Jocke

+0

Хорошо, я думаю, вам понадобится цикл 'foreach', который я не вижу в вашем опубликованном коде. –

ответ

0

вам нужно добавить имя входа [] скобки и атрибутов "multiple"

<form id = "upload_form" method="post" enctype="multipart/form-data" > 
    <input type="file" name="uploaded_file[]" multiple="true" id="uploaded_file" style="color:black" /><br/> 
</form> 

Теперь все Загруженный файл будет доступен через

$_FILES['uploaded_file']['name'][0] 
$_FILES['uploaded_file']['name'][1] 
and so on 

Более подробная информация на http://www.php.net/manual/en/features.file-upload.multiple.php

надежды это поможет вам.

Смежные вопросы