проблема при загрузке файлов через форму

Goggi2

Новичок
проблема при загрузке файлов через форму

У меня на Виндозе установлен TopServer (комплекс программ Apache+MySQL+PHP+SQLite и тд и тп) в нем все сконфигурированно и все взаимодействует друг с другом нормально. К нему еще прилагались готовые примеры скриптов и файлменеджер. В файломенеджере существует функция загрузить файлы на сервер и при попытке проделать это, говорит что при загрузке возникла какая-то ошибка, а среди готовых скриптов нашел скрипт аплоада (типо фотогалереи) и при закачке туда он говорит, что произошла ошибка закачки №6.

Собстно хотел узнать что это за мифическая ошибка №6? и как ее избежать?

код готового скрипта такой:

PHP:
<?php 

// Простейший фотоальбом с возможностью закачки 

$imgDir = dirname(__FILE__)."/img/";        // каталог для хранения изображений 
@mkdir($imgDir, 0777);  // создаем, если его еще нет 

// Проверяем, нажата ли кнопка добавления фотографии. 
if (@$_REQUEST['doUpload']) { 
  $data = $_FILES['file']; 
  $tmp = $data['tmp_name']; 
  // Проверяем, принят ли файл. 
  if (@file_exists($tmp)) { 
    $info = @getimagesize($_FILES['file']['tmp_name']); 
    // Проверяем, является ли файл изображением. 
    if (preg_match('{image/(.*)}is', $info['mime'], $p)) { 
      // Имя берем равным текущему времени в секундах, а 
      // расширение - как часть MIME-типа после "image/". 
      $name = "$imgDir/".time().".".$p[1]; 
      // Добавляем файл в каталог с фотографиями. 
      move_uploaded_file($tmp, $name); 
    } else { 
      echo "<h2>Попытка добавить файл недопустимого формата!</h2>"; 
    } 
  } else { 
    echo "<h2>Ошибка закачки #{$data['error']}!</h2>"; 
  } 
} 

// Теперь считываем в массив наш фотоальбом. 
$photos = array(); 
foreach (glob("$imgDir/*") as $path) { 
  $sz = getimagesize($path); // размер 
  $tm = filemtime($path);    // время добавления 
  // Вставляем изображение в массив $photos. 
  $photos[$tm] = array( 
    'time' => $tm,              // время добавления 
    'name' => basename($path),  // имя файла 
    'url'  => $path,            // его URI 
    'w'    => $sz[0],           // ширина картинки 
    'h'    => $sz[1],           // ее высота 
    'wh'   => $sz[3]            // "width=xxx height=yyy" 
  ); 
} 
// Ключи массива $photos - время в секундах, когда была добавлена 
// та или иная фотография. Сортируем массив: наиболее "свежие" 
// фотографии располагаем ближе к его началу. 
krsort($photos); 
// Данные для вывода готовы. Дело за малым - оформить страницу. 
?> 

<body> 
<form action="./upload/album.php" method="POST" enctype="multipart/form-data"> 
<input type="file" name="file"><br> 
<input type="submit" name="doUpload" value="Закачать новую фотографию"> 
<hr> 
</form> 
<?foreach($photos as $n=>$img) {?> 
  <p><img 
   src="<?=$img['url']?>" 
   <?=$img['wh']?> 
   alt="Добавлена <?=date("d.m.Y H:i:s", $img['time'])?>" 
  > 
<?}?> 
</body>
 

Goggi2

Новичок
прям так и пишет:

else {
echo "<h2>Ошибка закачки #{$data['error']}!</h2>";
}

там был еще какойто стремный пример и при выводе массива с ошибками было выдано - индекс ошибки: 6

за советы спасибо, обязательно попробую, как смогу обязательно отпишусь, (но возможно только завтра). И что это за ошибка "6" - понятия не имею...
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Goggi2
Смотрите english документацию.
Русская почему-то заканчивается на 4-й ошибке.
А их есть 8.
 

Фанат

oncle terrible
Команда форума
а на что смотреть то?
на всё.
print_r, foreach - как угодно.
прежде, чем использовать переменную в своем скрипте надо посмотреть её значение. вот об этом там и написано
 

WP

^_^
> if (preg_match('{image/(.*)}is', $info['mime'], $p)) {
Покажи где это растёт.
 

Goggi2

Новичок
Автор оригинала: WP
> if (preg_match('{image/(.*)}is', $info['mime'], $p)) {
Покажи где это растёт.
-Я Вас не понял

Mr_Max -вот, что нашел:


PHP:
UPLOAD_ERR_NO_TMP_DIR 

Value: 6; Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3.
Как я понял из вышесказанного неправильно указана папка для временных файлов (вернее путь к ней) ?

Попробую поменять в настройках php, обязательно позже отпишусь.
Прописал адрес - все работает, всем спасибо! :)

зы:
Большое спасибо Mr_Max за совет поглядеть документацию (сам бы не допёр ;-) )
 
Сверху