There's a good chance that one of the directories in
/home/mysite/public_html/../logs/ is actually a symbolic link. The
cd command built into most modern shells does a little magic in this case, so that
cd .. takes you to the "logical" parent directory -- which takes into account how you got there.
When you try to
touch /home/mysite/public_html/../logs/x, you don't get this magic.
$ ls -l /home/lars
public_html -> /var/www/lars
cd /home/lars/public_html I'm actually inside of
/var/www/lars. So technically,
../logs does not exist (because the
logs directory I want is actually in
/home/lars, not in
/var/www, which is the "real" parent of