I would probably use "This file does not exist" in both cases and just combine the two. Or maybe "This data file does not exist for this project" if you want to be more specific. The difference is just narrowing it down to items in the 'data' directory, right? I don't see a point in giving them a mechanism to see if 'project/data/../../../someMysteryFile' exists. Actually it sounds like a security flaw to me. The difference between the following two calls shouldn't matter to the user:
```
kjh65@ws81:~$ curl -X POST https://www.cs.drexel.edu/~kjh65/WAVED/load-project-state/PHP/deleteDataFile.php -d projectName=kjh65-test -d fileName='../../../../../../../../etc/lsb-release'
{"errorMessage":"This filename is invalid.","success":false}

kjh65@ws81:~$ curl -X POST https://www.cs.drexel.edu/~kjh65/WAVED/load-project-state/PHP/deleteDataFile.php -d projectName=kjh65-test -d fileName='../../../../../../../../etc/lsb-release-NOT'
{"errorMessage":"This file does not exist.","success":false}
kjh65@ws81:~$
```