Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Загрузка файлов и получение Кукиша!
 
 автор: SilentChild   (21.04.2008 в 16:22)   письмо автору
 
 

<form method='post' action='up_photo.php' enctype='multipart/form-data'>
    Заголовок:<br>
    <input type='text' name='header'><br>
    Анонс:<br>
    <textarea name='anons'></textarea><br>
    Основная часть:<br>
    <textarea name='mainpart'></textarea><br>
    <input type='file' name='myfile[]'><br>    
    <input type='submit' value='Добавить'>
</form>



Отправляю данные с помощью вышеуказанной формы.
Затем данные обрабатываются с помощью up_photo.php:

<?php
$userfile 
basename($_FILE['userfile']['name'][0]); 
echo 
"Размер файла " $userfile " составляет: " $_FILE['userfile']['size'][0] . ".";
?>


На экране появляется кукиш с маслом.

А теперь вопрос почему Кукиш, когда надо имя файла и размер?

   
 
 автор: mechanic   (21.04.2008 в 16:26)   письмо автору
 
   для: SilentChild   (21.04.2008 в 16:22)
 

а потому что не там ищешь
var_dump($_FILES);
в частности echo $_FILES['myfile'][0]['name'];

   
 
 автор: SilentChild   (21.04.2008 в 16:33)   письмо автору
 
   для: mechanic   (21.04.2008 в 16:26)
 

Дак как код-то должен выглядеть если там где надо искать?

if (isset($_POST['addnewsindbs']))
{    
    $userfile_name = $_FILE['userfile'][0]['name']; 
    if (isset($_ENV['WINDIR']))
    {
        $userfile_name = str_replace("\\\\", "\\", $userfile_name);
    }             
    $userfile = basename($userfile_name); 
    echo "Размер файла " . $userfile . " составляет: " . $_FILE['userfile'][0]['size'] . ".";    
}


Так тоже не работает =(
Имеется ввиду, что имя файла уже не myfile[ ], а userfile[ ]

   
 
 автор: SilentChild   (22.04.2008 в 08:54)   письмо автору
 
   для: SilentChild   (21.04.2008 в 16:33)
 

Блин, я букву S то не заметил!

   
 
 автор: SilentChild   (22.04.2008 в 09:37)   письмо автору
 
   для: SilentChild   (22.04.2008 в 08:54)
 

от mechanic:
>в частности echo $_FILES['myfile'][0]['name'];

Так не работает, а вот так echo $_FILES['myfile']['name'][0]; работает =)


Как можно получить длину массива в котором передаются файлы при закачке?
Вот так не действует count($_FILES['userfile'])

   
 
 автор: SilentChild   (22.04.2008 в 09:59)   письмо автору
 
   для: SilentChild   (22.04.2008 в 09:37)
 

Почему массив
count($_FILES['userfile'])
выдает все время число 5,
когда циклом создается 8 полей формы типа file.

Вот тут должно и создается указанное мною колличество полей, допустим 8:

for ($i = 1; $i <= $_POST['count']; $i++)
            {            
                echo "<input style='background-color: #ffffff' type='file' name='userfile[]'><br>";    
            }    


А вот этот сценарий выдает все время 5, независимо от того сколько полей в форме было создано:
$len = count($_FILES['userfile']);
echo $len;    


Почему так?

   
 
 автор: mechanic   (22.04.2008 в 10:03)   письмо автору
 
   для: SilentChild   (22.04.2008 в 09:37)
 

> Вот так не действует count($_FILES['userfile'])
ну раз не ['myfile'][0]['name'] значит count($_FILES['userfile']['name']) :)

   
 
 автор: SilentChild   (22.04.2008 в 10:11)   письмо автору
 
   для: mechanic   (22.04.2008 в 10:03)
 

Спасибо.
работает!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования