2013-05-31 3 views
2

Я работаю локально на локальном хосте, и сайт D/xampp/htdocs/websites/site.com Я также использую эту строку кода для изменения расширений .php только для/(fowardslash).Почему мой файл move_uploaded_file() не работает

Со страницы, которая находится по адресу site.com/admin/addevent/, я пытаюсь переместить загруженный файл, который является изображением на site.com/images/uploads. Я использую MySQLi и мой PHP код, чтобы сделать это:

$target = "../images/uploads/"; 
$target = $target . $_FILES['image']['name']; 
$pname = $_FILES['image']['name']; 
$ptemp = $_FILES['image']['tmp_name']; 
$ptype = $_FILES['image']['type']; 
$psize = $_FILES['image']['size']; 
if(move_uploaded_file($pname, $target)){ 
    echo "file moved"; 
}else{ 
    echo "not moved "; 
} 

ответ

3

Может хочет изменить эту строку, чтобы использовать место временного файла (это место фактического файла, который будет перемещено). Вы используете то, что находило имя исходного файла, которого не существует.

if(move_uploaded_file($pname, $target)){ 

Как это:

if(move_uploaded_file($_FILES['image']['tmp_name'], $target)){ 

Или так:

if(move_uploaded_file($ptemp, $target)){ 
+0

Спасибо, не знаю, где я был замешан в пути. Длинный день. –

1

Вы должны использовать файлы временного имени. Попробуйте следующее:

$target = "../images/uploads/"; 
$target = $target . $_FILES['image']['name']; 
$pname = $_FILES['image']['name']; 
$ptemp = $_FILES['image']['tmp_name']; 
$ptype = $_FILES['image']['type']; 
$psize = $_FILES['image']['size']; 
if(move_uploaded_file($ptemp, $target)){ 
    echo "file moved"; 
}else{ 
    echo "not moved "; 
}