как распарсить исходящий multipart/form-data заголовок

Тема в разделе "PHP", создана пользователем seodor, 8 май 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. seodor

    seodor Создатель

    Регистр.:
    9 фев 2009
    Сообщения:
    10
    Симпатии:
    1
    есть такой исходящий заголовок:

    PHP:
    -----------------------------11538186919912
    Content
    -Dispositionform-dataname="title"

    Title
    -----------------------------11538186919912
    Content
    -Dispositionform-dataname="taxonomy[2][]"

    25
    -----------------------------11538186919912
    Content
    -Dispositionform-dataname="taxonomy[3][]"

    0
    -----------------------------11538186919912
    Content
    -Dispositionform-dataname="taxonomy[4][]"

    12
    мне нужна функция на PHP которая бы на вход принимала вышеприведенную строку, а на выходе бы выдавала массив в виде:

    PHP:
    $t["title"] = Title;
    $t["taxonomy[2][]"] = 25;
    $t["taxonomy[3][]"] = 0;
    $t["taxonomy[4][]"] = 12;
    Может встречал кто подобное ?
     
  2. wwwitalya

    wwwitalya Создатель

    Регистр.:
    4 май 2009
    Сообщения:
    45
    Симпатии:
    18
    PHP:
    $text='-----------------------------11538186919912 
    Content-Disposition: form-data; name="title" 

    Title 
    -----------------------------11538186919912 
    Content-Disposition: form-data; name="taxonomy[2][]" 

    25 
    -----------------------------11538186919912 
    Content-Disposition: form-data; name="taxonomy[3][]" 


    -----------------------------11538186919912 
    Content-Disposition: form-data; name="taxonomy[4][]" 

    12 '
    ;

    function 
    parse_header ($text) {
        
    preg_match_all('!Content-Disposition:\s*form-data;\s*name="([^"]+)"\s*([^\n\r]+)!is'$text$matches);
        
    $t=array();
        foreach (
    $matches[1] as $k=>$v) {
            
    $t["{$v}"]=$matches[2][$k];
        }
        return 
    $t;
    }

    print_r(parse_header($text));
     
    seodor нравится это.
Статус темы:
Закрыта.