Качване на снимки

C++ JAVA
Post Reply
pro12
Турист
Турист
Posts: 452
Joined: Thu Jan 10, 2013 3:08 pm

Качване на снимки

Post by pro12 » Wed Mar 13, 2019 4:53 pm

Това ми е в html формата [html] <input type="file" name="foto[]" />
<input type="file" name="foto[]" />
[/html]
Получавам масив [php]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]
Обработвам масива.
[php]
$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]
Ето новия масив.
[php]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 ) )
[/php]
Премахвам error
[php]foreach ($this->paramimages as $thisArrIndex=>$subArray)
{
if (array_key_exists('error', $subArray )) {
if ( $subArray['error'] == "4" )
{
unset($this->paramimages[$thisArrIndex]);
}

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

Как да преименувам масива за да е 0 а не 1?

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3302
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Wed Mar 13, 2019 5:24 pm

Използвай
[php]
$array = array_values($array);
[/php]

или

[php]
$arr = array_map('array_values', $arr);
[/php]

pro12
Турист
Турист
Posts: 452
Joined: Thu Jan 10, 2013 3:08 pm

Post by pro12 » Wed Mar 13, 2019 6:50 pm

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

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3302
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Wed Mar 13, 2019 8:01 pm

pro12 wrote:Благодаря!
Мога ли да стигна до този резултат с по малко цикли? [php]Array ( [1] => Array ( [name] => hd car wallpapers for mobile (5).jpg [type] => image/jpeg [tmp_name] => H:\xamp\tmp\php4C94.tmp [size] => 122640 ) )
[/php]
Принципно, да! В случая обаче използването на така структурираните от теб цикли би било по-бързо спрямо използването на някои вградени функции за обработване на масиви в php. Може да си оптимизираш кода и променливите за да не пълниш излишно паметта. Функцията memory_get_peak_usage() ти дава информация за изпозването на паметта.

pro12
Турист
Турист
Posts: 452
Joined: Thu Jan 10, 2013 3:08 pm

Post by pro12 » Wed Mar 13, 2019 8:36 pm

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

Post Reply