Q:

How can i Split the large image into small tiles based on zoom

I want to split large images into small tiles based on zoom level automatically.
That means when I upload the image it will automatically split into tiles and store in some output folder.  
Then I can use those tiles as map by using leaflet.js.

A:

You would be interested in software that do this process for you, like MapTiler, zoomify…
Of course you can also do it yourself, you just need to use image handling libraries to cut your image into tiles, zoom it down and repeat the process.
Or usually the reverse: zoom down your image until it fits a single tile, then zoom it down until it is twice as big as the previous step, cut into 4 tiles, etc.

