2015-12-22 3 views
0

Прежде всего, я хотел бы извиниться за этот вопрос, потому что знаю, что уже много людей спрашивают об этом. но все ответы, которые я искал, не помогли решить мою проблему. так что надеюсь, что вы рассмотрите этот вопрос и поможете мне решить эту проблему.Ошибка при загрузке файла в php (изображение)

поэтому в основном я пытаюсь загрузить файл изображения, и когда я представить его, ошибка выскакивает:

Warning: move_uploaded_file(./images/jarvs.jpg): failed to open stream:

Warning: move_uploaded_file(): Unable to move 'C:\wamp\tmp\phpA25F.tmp' to './images/jarvs.jpg'

я действительно не получаю ошибку, но я знаю, что ошибка возникает, когда я пытаюсь передать изображение с пути изображения и отправить его в папку назначения (целевой путь)

so heres мой код:

HTML: <input id="profimagefile" name="profileimage" class="input-file" type="file">

PHP:

$targetPath = "images/"; 
$targetPath = $targetPath.basename($_FILES['profileimage']['name']); 

//name of the file 
$img = $_FILES['profileimage']['name']; 
$size = $_FILES['profileimage']['size']; 
$type = $_FILES['profileimage']['type']; 

if(move_uploaded_file($_FILES['profileimage']['tmp_name'], $targetPath)) 
{ 
$queryupload = "INSERT INTO images_profile (image_name, image_path, date_uploaded, emailAddress) 
    VALUES ('$img', '$targetPath','$registerDate', '$email')"; 

mysqli_query($conn, $queryupload); 
echo "The file ". basename($_FILES['profileimage']['name']). " has been uploaded." . "<br/>"; 
} 
else { 
echo "Sorry, there was a problem uploading your file." . "<br/>"; 
} 

не виду вводные базы данных, ее просто часть процесса после того, как изображение уже переехал в мой TargetPath. спасибо за ответы

+0

Вы предоставили разрешения папкам – rahul

+0

Да, пожалуйста, проверьте права доступа к папке «images /» –

+0

, какие разрешения? я не понимаю. –

ответ

0

Попробуйте это ..

$targetPath = "images/"; 
//create folder if not exist 
if(!is_dir($targetPath)){ 
    if(!mkdir($targetPath, 0777, true)){ 
     die('Failed to create folder.'); 
    } 
} 
//set folder's permissions writale and executable 
chmod($targetPath, 0777); 
$targetPath = $targetPath.basename($_FILES['profileimage']['name']); 

//name of the file 
$img = $_FILES['profileimage']['name']; 
$size = $_FILES['profileimage']['size']; 
$type = $_FILES['profileimage']['type']; 

if(move_uploaded_file($_FILES['profileimage']['tmp_name'], $targetPath)) 
{ 
$queryupload = "INSERT INTO images_profile (image_name, image_path, date_uploaded, emailAddress) 
    VALUES ('$img', '$targetPath','$registerDate', '$email')"; 

mysqli_query($conn, $queryupload); 
echo "The file ". basename($_FILES['profileimage']['name']). " has been uploaded." . "<br/>"; 
} 
else { 
echo "Sorry, there was a problem uploading your file." . "<br/>"; 
} 
+0

спасибо, он сработал. –

+0

Я понял, почему это дало мне ошибку, потому что на самом деле моя папка с изображениями находится не в том же каталоге, где находится мой файл php. моя папка с изображениями находится в: "public/images " , в то время как мой файл php находится в:" public/php/saveimage.php " –

0

Попробуйте ::

HTML

<form enctype="multipart/form-data> 
<input id="profimagefile" name="profileimage" class="input-file" type="file"> 
</form> 

PHP

if(file_exists(__DIR__."/images"){ 
$targetPath = __DIR__."/images/"; 
$targetPath .= $_FILES['profileimage']['name']; 

if(move_uploaded_file($_FILES['profileimage']['tmp_name'], $targetPath)){ 
echo "Upload success"; 
} else { 
echo "Upload failed"; 
} 
} else { 
    echo "Dir images not found"; 
} 
+0

nope, он привел меня в оператор else, не пошел в file_exists –

+0

Добавить эту строку в свою ошибку echo error num: ". $ _ FILES ['profileimage'] [" error "] ; –

+0

У вас есть код ошибки для загрузки файла. Если файл полностью загружен $ _FILES ['profileimage'] ["error"] будет равен –

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