2016-10-05 7 views
0

Googleのどこでもこの回答を見つけることができませんでした。 PHPExcel_Worksheet_MemoryDrawingクラスを使用してPHP経由でExcelシートをアップロードしていますが、画像はランダムな順序でアップロードされているようです。PHP Excel画像を注文順にアップロード

$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); 
関連する問題