2017-02-14 4 views
0

Как установить изображение по умолчанию на upload/'default image.jpg', чтобы использовать его, когда пользователь не загружает собственное изображение?Как установить изображение по умолчанию, когда пользователь не загружает изображения?

$image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); 
$image_name = addslashes($_FILES['image']['name']); 
$image_size = getimagesize($_FILES['image']['tmp_name']); 

move_uploaded_file($_FILES["image"]["tmp_name"],"upload/" . $_FILES["image"]["name"]);   
$location = "upload/" . $_FILES["image"]["name"]; 
+0

Просто начните с проверки того, существует ли какой-либо файл в '$ _FILES ['image']'. Если это не так, пропустите оставшуюся часть этого скрипта и установите «$ location» в значение по умолчанию вместо –

+0

. Я попытался изменить $ location = "upload /". $ _FILES [ "образ"] [ "имя"]; в $ location = "upload/default.jpg". $ _FILES [ "образ"] [ "имя"]; , но когда я загружаю фотографию, она не показывает изображение, которое я загрузил – kangkong

+0

Если изображения не загружены, _don't_ использовать '$ _FILES' вообще. Это просто для загруженного файла_. –

ответ

-1

Пожалуйста, попробуйте это.

// Replace source with other image in case user didn't upload any photo 
$('img').error(function(){ 
     $(this).attr('src', 'missing.png'); 
}); 

// Or, hide the 'broken image' 
$("img").error(function(){ 
     $(this).hide(); 
}); 

вероятно связанный с этим вопрос:

Upload default image if user didn't upload any

+0

Откуда вы знаете, что OP использует jQuery (о котором вы забыли упомянуть, что ваш ответ зависит) или что код даже выполняется с веб-страницы? Как это решение работает с API, например? И, что более важно, как это помогает OP при выполнении запросов на загрузку? –

+0

Извините, я относительно новичок в переполнении стека. позаботится об этом в будущих ответах. Ура! –

0

Как уже упоминалось в комментариях, начните с именем файла по умолчанию в переменной $location, и переписать его, если необходимо

$location = "upload/default image.jpg"; // the default file value 
$image= addslashes(file_get_contents($_FILES['image']['tmp_name'])); 
$image_name= addslashes($_FILES['image']['name']); 
$image_size= getimagesize($_FILES['image']['tmp_name']); 

if (move_uploaded_file($_FILES["image"]["tmp_name"],"upload/" . $_FILES["image"]["name"]) 
{   
    // only change the location if something was uploaded 
    $location="upload/" . $_FILES["image"]["name"]; 
} 
1

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

// Here's the default value 
$location = "upload/default_image.jpg"; 

// Check if we got an uploaded file 
if (!empty($_FILES['image']['tmp_name'])) { 
    // We have an uploaded file, now let's handle it 
    $image  = addslashes(file_get_contents($_FILES['image']['tmp_name'])); 
    $image_name = addslashes($_FILES['image']['name']); 
    $image_size = getimagesize($_FILES['image']['tmp_name']); 

    if (move_uploaded_file($_FILES["image"]["tmp_name"], "upload/" . $_FILES["image"]["name"]) { 
     // Yay! It worked! Let's overwrite our default value! 
     $location = "upload/" . $_FILES["image"]["name"]; 
    } 
} 

// The rest of your code