PHP загрузка файла странная проблема - PullRequest
1 голос
/ 04 ноября 2011

При загрузке файлов изображений на работающий сервер я застрял в странной проблеме, что функция move_uploaded_files() возвращает значение true, но изображение не загружается.

if(move_uploaded_file($_FILES["img"]["tmp_name"],'./shot_images/'.$_FILES["img"]["name"])){
  echo "Success";
}

Здесь, когда выполняется, печатает "Успех ", но файл не загружается в указанное место.

Любая помощь приветствуется.

1 Ответ

1 голос
/ 04 ноября 2011

Если move_uploaded_file возвращает true, то это означает, что файл был успешно перемещен. Давайте попробуем отладку. Что происходит, когда вы используете следующий код:

$dest = "./shot_images/{$_FILES["img"]["name"]}";
if(move_uploaded_file($_FILES["img"]["tmp_name"],$dest)){
  $realpath = realpath($dest);
  $filesize = filesize($realpath);
  echo "Success! Uploaded a $filesize file to $realpath";
}

Я подозреваю, что это работает, просто не идет, как вы ожидаете ...

Если это так, то это может быть связано с `'./shot_images/' - лично я редко (если вообще когда-либо) использую такие относительные пути. Я считаю, что это устраняет путаницу, если я ссылаюсь на путь к сценарию:

$dest = dirname(__FILE__)."/shot_images/{$_FILES["img"]["name"]}";
if(move_uploaded_file($_FILES["img"]["tmp_name"],$dest)){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...