- Качване на снимки
WT форуми -> PHP MySQL ASP.NET -> Качване на снимки
Създайте нова тема Напишете отговор 
Автор Съобщение
pro12
Турист
Турист

Регистриран на: 10/01/2013 5:08 pm

Support: 0
Bonus: 0
Мнения: 452
Мнение 13/03/2019 6:53 pm     Качване на снимки Отговорете с цитат


Това ми е в html формата
HTML code:
 <input type="file" name="foto[]" />
<input type="file" name="foto[]" />

Получавам масив
PHP code:
Array ( [name] => Array ( [0] => [1] => hd car wallpapers for mobile (5).jpg [2] => [3] => [4] => ) [type] => Array ( [0] => [1] => image/jpeg [2] => [3] => [4] => ) [tmp_name] => Array ( [0] => [1] => H:\xamp\tmp\php1645.tmp [2] => [3] => [4] => ) [error] => Array ( [0] => 4 [1] => 0 [2] => 4 [3] => 4 [4] => 4 ) [size] => Array ( [0] => 0 [1] => 122640 [2] => 0 [3] => 0 [4] => 0 ) ) 

Обработвам масива.
PHP code:

$img = array_keys($this->images);

for ($i = 0; $i < count($this->images['name']); $i++) {
foreach ($img as $key) {
if ($this->images[$key][$i] != '') {създавам нов масив без празните ключове.
$this->paramimages[$i][$key] = $this->images[$key][$i];
}
}
}

Ето новия масив.
PHP code:
Array ( [0] => Array ( [error] => 4 ) [1] => Array ( [name] => hd car wallpapers for mobile (5).jpg [type] => image/jpeg [tmp_name] => H:\xamp\tmp\phpC3A6.tmp [size] => 122640 ) [2] => Array ( [error] => 4 ) [3] => Array ( [error] => 4 ) [4] => Array ( [error] => 4 ) ) 

Премахвам error
PHP code:
foreach ($this->paramimages as $thisArrIndex=>$subArray)
{
if (array_key_exists('error', $subArray )) {
if ( $subArray['error'] == "4" )
{
unset($this->paramimages[$thisArrIndex]);
}

}
}

Краен резултат
PHP code:
Array ( [1] => Array ( [name] => hd car wallpapers for mobile (5).jpg [type] => image/jpeg [tmp_name] => H:\xamp\tmp\php4C94.tmp [size] => 122640 ) ) 


Как да преименувам масива за да е 0 а не 1?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
dakata__92
Активен
Активен

Регистриран на: 02/08/2011 9:24 pm

Support: 122
Bonus: 237
Мнения: 3125
Мнение 13/03/2019 7:24 pm      Отговорете с цитат


Използвай
PHP code:

$array = array_values($array);


или

PHP code:

$arr = array_map('array_values', $arr);
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
pro12
Турист
Турист

Регистриран на: 10/01/2013 5:08 pm

Support: 0
Bonus: 0
Мнения: 452
Мнение 13/03/2019 8:50 pm      Отговорете с цитат


Благодаря!
Мога ли да стигна до този резултат с по малко цикли?
PHP code:
Array ( [1] => Array ( [name] => hd car wallpapers for mobile (5).jpg [type] => image/jpeg [tmp_name] => H:\xamp\tmp\php4C94.tmp [size] => 122640 ) ) 
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
dakata__92
Активен
Активен

Регистриран на: 02/08/2011 9:24 pm

Support: 122
Bonus: 237
Мнения: 3125
Мнение 13/03/2019 10:01 pm      Отговорете с цитат


pro12 написа:
Благодаря!
Мога ли да стигна до този резултат с по малко цикли?
PHP code:
Array ( [1] => Array ( [name] => hd car wallpapers for mobile (5).jpg [type] => image/jpeg [tmp_name] => H:\xamp\tmp\php4C94.tmp [size] => 122640 ) ) 


Принципно, да! В случая обаче използването на така структурираните от теб цикли би било по-бързо спрямо използването на някои вградени функции за обработване на масиви в php. Може да си оптимизираш кода и променливите за да не пълниш излишно паметта. Функцията memory_get_peak_usage() ти дава информация за изпозването на паметта.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
pro12
Турист
Турист

Регистриран на: 10/01/2013 5:08 pm

Support: 0
Bonus: 0
Мнения: 452
Мнение 13/03/2019 10:36 pm      Отговорете с цитат


dakata__92 написа:
pro12 написа:
Благодаря!
Мога ли да стигна до този резултат с по малко цикли?
PHP code:
Array ( [1] => Array ( [name] => hd car wallpapers for mobile (5).jpg [type] => image/jpeg [tmp_name] => H:\xamp\tmp\php4C94.tmp [size] => 122640 ) ) 


Принципно, да! В случая обаче използването на така структурираните от теб цикли би било по-бързо спрямо използването на някои вградени функции за обработване на масиви в php. Може да си оптимизираш кода и променливите за да не пълниш излишно паметта. Функцията memory_get_peak_usage() ти дава информация за изпозването на паметта.

Може ли да ми дадеш пример за оптииизация?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP MySQL ASP.NET Часовете са според зоната GMT + 2 Часа
Страница 1 от 1


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети