Jakoś nie widzę problemów... Skoro OBOK zdjęcia zapisujesz jego pożądaną pozycję to jaki problem użyć funkcji sortującej?
Załóżmy, że w pliku txt masz:
Kod
fot1.jpg 4 || fot2.jpg 2 || fot3.jpg 1 || fot4.jpg 3
Wczytujesz to i robisz explode po ciągu ' || ', który zrobi nam:
$zdjecia = array( [0] => 'fot1.jpg 4', [1] = 'fot2.jpg 2', [2] => 'fot3.jpg 1', [3] => 'fot4.jpg 3' );
Od teraz masz przynajmniej KILKA możliwości rozwiązania problemu.
1) W pętli możesz znów zrobić explode, który poleci po spacji i utworzy:
$zdjecia_unsort = array( [0
] => array( [0] => 'fot1.jpg', [1
] => 4
), [1
] = array( [0] => 'fot2.jpg', [1
] => 2
), [2
] => array( [0] => 'fot3.jpg', [1
] => 1
), [3
] => array( [0] => 'fot4.jpg', [1
] => 3
) );
a teraz zdefiniować usort dla mutlidimensional array.
2) od razu usort z wyrażeniem regularnym.
3) wyrażenie regularne z reorganizacją tablicy do postaci:
$zdjecia = array( [4] => 'fot1.jpg', [2] = 'fot2.jpg', [1] => 'fot3.jpg', [3] => 'fot4.jpg' );
i ksort
Oraz wiele innych...