PHP Code:
$target = "Shanghai_2010/images/" . basename($_FILES['photo']['name']);
That's fine, but what is the point of defining $target right above it, if you don't use it? You're specifying Shanghai_2010/images/ twice.
Try this:
PHP Code:
$target = "Shanghai_2010/images/";
$target .= basename($_FILES['photo']['name']);
No nothing to do with safe mode. Some characters don't work as well as URLs. Spaces look ugly when they become %20 or if the file name contains single quotes it could break your HTML when you display a reference to it.
Strip out all characers except for alpha numerics and . _ -
Bookmarks