2011-06-01 3 views
0

Привет, ребята, я пытаюсь получить изображение для загрузки в указанный каталог, а все im, получающие в качестве результата, - «Ошибка при загрузке файла, повторите попытку!»Ошибка при загрузке

$upload_dir = "blog/wp-content/uploads/products";  
if (file_exists($upload_dir) && is_writable($upload_dir)) { 
    echo "Directory exists and is fine...."; 
} 
else { 
    echo "Upload directory is not writable, or does not exist."; 
} 

$target_path = "blog/wp-content/uploads/products/"; 

$target_path = $target_path . basename($_FILES['image_file']['name']); 

if(move_uploaded_file($_FILES['image_file']['tmp_name'], $target_path)) { 
    echo "The file ". basename($_FILES['image_file']['name']). 
    " has been uploaded"; 
} else{ 
    echo "There was an error uploading the file, please try again!"; 

} 

Любые идеи?

+0

Вы также должны проверить статус загрузки в '$ _FILES ['image_file'] ['error']' [(php.net docs)] (http://php.net/manual/en/features.file- upload.errors.php) Этот код ошибки может указывать на то, что является причиной сбоя. – mkilmanas

+1

Вы действительно не должны сохранять исходное имя файла. Представьте, что кто-то загрузил php-файл, ваш веб-сервер с удовольствием запустит его. – Maerlyn

+0

Является ли '$ target_path' доступным для записи? –

ответ

0

Если вы не получили предупреждение, это единственная причина: If filename is not a valid upload file, then no action will occur, and move_uploaded_file() will return FALSE. цитата из документации.

Проверьте загрузку используя .is_uploaded_file.

+0

Я не уверен, как это сделать! Я прочитал страницу, но все еще: S – Danienllxxox

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