Con "PHP" sería lo mismo que hacerlo desde el script phpMyadmin ...
Pero si te refieres a que quieres hacer una consulta tipo (ejecutada desde PHP con mysql_query() ... ):
LOAD DATA INFILE ...
http://www.mysql.com/doc/en/LOAD_DATA.html
Según tengo entendido .. se trata (esa función) de "cargar" una tabla con datos tipo CVS (campos separados por comas y registros por salto de línea .. (u otros separadores) ..)
El caso que tus "backup" son SQL (sentencias SQL de INSERT .. bla bla .. y tal vez CREATE TABLE o similares) .. Por ende .. debes "ejecutar" tu consulta (y eso es lo que hace tu phpMyadmin .. "pesca" tu archivo y le pasa un explode() (al caracter ;) y lee ese gintatesco array que obtendrá de tu mega-archivo.sql uno por uno para ejecutarlo (la consulta SQL) con mysql_query() (pues no acepta más que una consulta a la vez; ..)
Lo ideal es que para BD pesadas como las tuyas .. hagas lo que te han comentado .. Subes por FTP tu SQL y ejecutas ese comando en tu Telnet de tu sitio .. veras que ese proceso es infinitamente menor a lo que tardaría cualquier script PHP en procesarlo ...
Un saludo,