Me imagino que $lisimg tiene todas las imágenes sin excepción ¿verdad?
Podrías ejecutar lo siguiente y compartir los resultados:
Además podrías también imprimir antes y después de usar copy() para depurar lo que sucede:
Código PHP:
Ver originalforeach ($lisimg as $imagen) {
$destino='carpeta/image-'.$i.'.jpg';
echo "<p>Copiando $imagen -- $destino</p>";
$ok = copy ($imagen,$destino);
if ($ok) {
echo 'OK';
} else {
echo 'No se pudo copiar';
}
$i++;
}
De otra forma es imposible adivinar lo que realmente sucede así que te sugiero depures tu código más a menudo.