2016-10-05 2 views
0

Я не мог найти ответ для этого в любом месте в Google. Я загружаю лист excel через PHP, используя класс PHPExcel_Worksheet_MemoryDrawing, однако он, кажется, загружает изображения в случайном порядке.PHP Excel загружает изображения в порядке

Возможно, вам нужно указать, какой у него заказ загружается, например row $n. В настоящее время я загружаю файл и нажимаю каждое изображение на массив, используя $i в качестве значения, но он, кажется, выбирает изображения наугад. В файле excel я также переименовал изображения 001, 002 и т. Д., Но он все равно кажется случайным после его загрузки.

$i=0; 
foreach ($objPHPExcel->getSheetByName("Sheet1")->getDrawingCollection() as $drawing) { 
    if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) { 
     ob_start(); 
     call_user_func(
      $drawing->getRenderingFunction(), 
      $drawing->getImageResource() 
     ); 
     $imageContents = ob_get_contents(); 

     ob_end_clean(); 
     $extension = 'jpg'; 
     $myFileName = $dir_to_create.'/'.date('Ymjis').rand().'.'.$extension; 
         array_push($td, $myFileName); 

     file_put_contents($myFileName,$imageContents); 
     $images_data[$i] = $myFileName; 
     $i++; 
    } 
} 

ответ

0

Обходной я использую, чтобы вызвать координаты и использовать его как мой ключ массив, то используйте asort на массив для сортировки. Хотя этот метод работает, я хотел бы знать, есть ли альтернативный метод для загрузки по порядку.

$row = $drawing->getCoordinates(); 
$images_data[$row] = $myFileName; 
asort($images_data); 
Смежные вопросы