Во-первых, убедитесь, что каталог, в который вы пишете, а) существует, и б) имеет права, позволяющие вам читать / писать в него.
Во-вторых, старайтесь не использовать exec, system или что-то подобное. Это не только небезопасно (передача аргументов может быть настоящей дырой в безопасности), но и добавляет большие накладные расходы на операцию, порождая новые подпроцессы и т.д.
Кроме того, использование exec() просто возвращает последнюю строку команды, которую вы выполняете. Если вам действительно нужно использовать системную программу для выполнения функций, то вы должны либо использовать passthru() для возврата данных прямо в браузер, либо shell_exec(), если вы хотите получить вывод в виде строки.