yeah, php can be tricky with large file uploads, the are a lot of settings that can come into play.
some of those settings can be modified using the php "ini_set" method to override the php.ini settings.
the following page lists all of the php.ini directives:
ini.list.php
look at the changeable column for each directive, this page explains the meaning of each possible value for the changeable column:
configuration.changes.modes.php
so as an example, to change the memory limit, you could use:
<?php ini_set("memory_limit", "256M"); ?>
Just be aware that the server may be configured to ignore you attempted changes. you can see if your changes are taking effect using ini_get:
<?php
echo("Old Memory Limit: ".ini_get("memory_limit")."<br /"):
ini_set("memory_limit", "256M");
echo("New Memory Limit: ".ini_get("memory_limit")."<br /"):
?>