У меня есть форма:
<form action='' enctype="multipart/form-data" method="post">
<input type="file" name="image">
<input type="submit" value="send">
</form>
У меня есть php-код:
$file = $_FILES['image']
$ext = explode(",", $file['type'])[0];
$location = "../image/movedimage.$ext";
if(move_uploaded_file($file['tmp_name'], $location)) echo 'moved';
else echo 'internal error';
Это эхо "перемещено", но проблема в том, что когда я проверяю путь к файлубыл перемещен, файл изображения там поврежден.
Мне пришлось изменить систему загрузки изображения, выполнив следующее:
$file_content = file_get_contents($file['tmp_name']);
$file_dump = file_put_contents($location, $file_content);
Эта попытка размещения файла непосредственно с помощью file_put_contents
отлично работает, и файл изображения идеально подходит для загрузки, но использование move_uploaded_file
оставляет поврежденный файл в папке назначения.Я хотел бы понять, почему это происходит, когда $file['error']
возвращает значение 0
, а функция move_uploaded_file
не возвращает false
.