За последние 24 часа нас посетили 31915 программистов и 1769 роботов. Сейчас ищет 891 программист ...

Подсчёт загруженных файлов и вывод цикла

Тема в разделе "PHP для новичков", создана пользователем gko11, 24 июл 2017.

  1. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    Есть обработчик

    Код (Text):
    1. if(isset($_FILES['upload'])) {
    2.     if (count($_FILES['upload']['name']) > 0) {
    3.         for ($i = 0; $i < count($_FILES['upload']['name']); $i++) {
    4.             $tmpFilePath = $_FILES['upload']['tmp_name'][$i];
    5.             if ($tmpFilePath != "") {
    6.                 $shortname = $_FILES['upload']['name'][$i];
    7.                 $filePath = "fileform/" . date('d-m-Y-H-i-s') . '-' . $_FILES['upload']['name'][$i];
    8.                 if (move_uploaded_file($tmpFilePath, $filePath)) {
    9.                     $files[] = $shortname;
    10.  
    11.  
    12.                 }
    13.             }
    14.         }
    15.     }
    16.  
    17.     if (is_array($files)) {
    18.  
    19.         foreach ($files as $file) {
    20.  
    21.             $linkfile = '<a target="_blank" href="'.$domensCMSR . $filePath . '"> ' . $file . '</a></br>';
    22.  
    23.  
    24.         }
    25.  
    26.     }
    27.  
    28.  
    29. }
    Принимает несколько файлов из поля upload[]
    И записывает ссылки на каждый файл..
    Суть в том что он записывает ссылку только 1 файла, и копирует её..
     
  2. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    Точно в условие более 1-го раза попадает?
    PHP:
    1. if (move_uploaded_file($tmpFilePath, $filePath)) {
    2. echo $i .' '.shortname;
    3. }
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  4. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    Код (Text):
    1. if(isset($_FILES['upload']))
    2. {
    3.     if (count($_FILES['upload']['name']) > 0)
    4.     {
    5.         for ($i = 0; $i < count($_FILES['upload']['name']); $i++)
    6.         {
    7.             $tmpFilePath = $_FILES['upload']['tmp_name'][$i];
    8.             if ($tmpFilePath != "") {
    9.                 $shortname = $_FILES['upload']['name'][$i];
    10.                 $filePath = "fileform/" . date('d-m-Y-H-i-s') . '-' . $_FILES['upload']['name'][$i];
    11.                 if (move_uploaded_file($tmpFilePath, $filePath))
    12.                 {
    13.                     $files[] = $shortname;
    14.                 }
    15.             }
    16.         }
    17.     }
    18.  
    19.     for ($i = 0; $i < count($_FILES['upload']['name']); $i++)
    20.     {
    21.         if (is_array($files))
    22.         {
    23.             $linkfile= '<a target="_blank" href="'.$domensCMSR . $filePath . '"> ' . $_FILES['upload']['name'][$i] . '</a></br>';
    24.             print($i."|".$_FILES['upload']['name'][$i]);
    25.         }
    26.     }
    27. }
    Эту я проблему решил..
    А как мне теперь обе ссылки(Если залили 2 файла)
    вывести в функцию mail..?
     
  5. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
  6. gko11

    gko11 Новичок

    С нами с:
    1 апр 2017
    Сообщения:
    44
    Симпатии:
    0
    А если больше?
    Что то типа
    mail($to, $subject, for( $i; $i < count($_FILES['upload']['name']; i++) { $linkfile }$message, $headers);
    Но такая запись не возможна -_-
     
    #6 gko11, 24 июл 2017
    Последнее редактирование: 24 июл 2017
  7. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    Это раз - https://php.ru/manual/control-structures.if.html
    А это два - http://php.net/manual/ru/function.count.
    и три перезаписываешь:
    PHP:
    1. // НЕ ТАК
    2. $linkfile= '<a target="_blank" href="'.$domensCMSR . $filePath . '"> ' . $_FILES['upload']['name'][$i] . '</a></br>';
    3.  
    4. // А ТАК
    5. $linkfile[] = '<a target="_blank" href="'.$domensCMSR . $filePath . '"> ' . $_FILES['upload']['name'][$i] . '</a></br>';