Просто PHP преместване на изображение

Опитвам се да преместя качено изображение (от Android), което трябва да бъде преименувано чрез PHP по-долу във втория пример, така че имената им да не могат да бъдат в конфликт. Оригиналният пример по-долу качва файлове правилно, но може да има конфликти при именуване. Грешката, която изпитвам е, че функцията move_uploaded_files се проваля, което не съм сигурен защо. Директорията изглежда същата, но може да греша и проблемът е, че изображението никога не се премества от временната директория. Преди всичко мисля, че това е просто проблем с директорията, тъй като оригиналният пример работи. Моля, уведомете ме, ако имате нужда от повече информация. Примерът, който разглеждам, се намира тук: Как да преименувам качения файл, преди да го запиша в директория?

оригинал:

$uploaddir = './appphotos/';   
$absPath = 'https://'.$_SERVER['HTTP_HOST'].'/complaint_desk/appphotos/'; 
$file = basename($_FILES['userfile']['name']);
$uploadFile = $file;
$newName = $uploaddir . $uploadFile;

Нов опит:

$temp = explode(".",$_FILES["userfile"]["name"]);

echo json_encode($temp);
$newfilename = rand(1,99999) . '.' .end($temp);
echo json_encode($newfilename);

$uploadFile = move_uploaded_file($_FILES["userfile"]["name"], "/var/www/complaint_desk/appphotos/" . $newfilename);    echo json_encode($uploadFile);

person user4619468    schedule 06.03.2015    source източник


Отговори (1)


Трябва да използвате функцията, както следва:

if(move_uploaded_file($_FILES["userfile"]["tmp_name"], "./appphotos/" . $newfilename)) {
  echo json_encode($uploadFile); // why do you want to encode it?
} else {
  echo 'File failed to move';
}

Винаги проверявайте резултата от move_uploaded_file(). Освен това файлът се намира на $_FILES["userfile"]["tmp_name"] преди преместване.


Освен това $absPath е неправилно. Не трябва да започва с http протокол. Трябва да изглежда като /var/www/complaint_desk/appphotos/ или C:/complaint_desk/appphotos/.

person Raptor    schedule 06.03.2015
comment
Много благодаря! Все пак това беше директорията: /var/www/complaint_desk/appphotos/ - person user4619468; 06.03.2015