2017-02-03 3 views
0

Я пытаюсь переместить загруженное изображение в пункт назначения, но move_uploaded_file( funtion не работает для меня. Я использую xampp как мой сервер. Я попробовал несколько предложений, но ничего не работаетmove_uploaded_file не работает в xampp

$file = $_FILE['image']['tmp_name']; 
$image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); 
$imgName = addslashes($_FILES['image']['name']); 
$imgSize = getimagesize($_FILES['image']['tmp_name']); 
$des = "C:\xampp\htdocs\proPic"; 
move_uploaded_file($file,$des.$imgName); 
//mysql query 
+2

Почему вы 'addslashes' к file_get_content() То есть потенциально баловаться с содержанием вашего файла изображения. == Мгновенное разрушение изображения – RiggsFolly

+0

Поскольку 2 человека могут легко загрузить файл под названием 'mypic.jpg', лучше создать локальное уникальное имя файла для этих загруженных изображений. – RiggsFolly

+0

___funtion не работает для me___ Не очень полезно. Каким образом это не работает. Не сохраняется ли файл? Является ли файл поврежденным и нечитаемым? Пожалуйста, укажите, что ___not working___ означает – RiggsFolly

ответ

0

форму, что я вижу на вашем коде вам не хватает \ на вашем $des.

Попробуйте добавить \ в конце

$des = "C:\xampp\htdocs\proPic\"; 

Поскольку addslashes только возвращает строку с обратной косой черты перед символами, которые должны быть экранированы. Эти символы - одинарная кавычка ('), двойная кавычка ("), обратная косая черта (\) и NUL (NULL-байт). См here for docs on addslashes

+0

if я добавляю a \ at last before "это как-то отключает остальную часть кода. –

+0

do' $ des = "C: \ xampp \ htdocs \ proPic \\"; ' –

+0

вы можете эхо и проверить' echo $ des. $ imgName' if вам не хватает '\', вот в чем проблема с кодом: –

1

Здесь я изменил две вещи

1.Add недостающее S в переменной $ файла, как этот файла $ = $ _FILE S [ 'образ'] [ 'tmp_name'];

2.Измените переменную пути назначения ($ dec), Нравится $ des = "C:/xampp/htdocs/proPic";

$file = $_FILES['image']['tmp_name']; 
$image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); 
$imgName = addslashes($_FILES['image']['name']); 
$imgSize = getimagesize($_FILES['image']['tmp_name']); 
$des = "C:/xampp/htdocs/proPic"; 
move_uploaded_file($file,$des.$imgName); 
+0

благодарю вас за вашу поддержку, но я пробовал все. Не работает. Я могу успешно вставить изображение как blob в базу данных, но изображение не перемещается внутри папки.maybe somthing can я делаю в файле php.ini? Я также изменил max_upload_size, пока не использую. –

+0

Если вы используете операционную систему Linux, дайте разрешение 777 в папке загрузки. Его работа отлично в localhost .. – Vasanth

Смежные вопросы