You can access a command's return status with the $? variable. An exit status of 0 traditionally indicates success. Non-zero indicates failure, and sometimes indicates teh nature of the failure. ToniT's example uses this information implicitly, but an explicit example:
Code:
#!/bin/bash
#Assuming that your PHP gives this script the source and destination
# arguments in the first and second arguments respectively
# The double quotes are used to preserve file/path names that
# include spaces or other character that the shell might otherwise
# interpret incorrectly
cp "${1}" "${2}"
cp_exit_status=$?
if [ ${cp_exit_status} -eq 0 ] ; then
echo Copy successful
exit 0
else
echo Copy failed
exit 1
fi