#php
#php
Вопрос:
if(isset($_FILES['image'])) {
$file_name = $_FILES['image']['name'];
if($file_size > 2097152){
$errors[]='File size must be excately 2 MB';
}
if(empty($errors) == true){
move_uploaded_file($file_tmp,"../img/images/".$file_name);
}
} else {
$file_name = $db_con->escape_string($_POST['image_old']); // Why this data will not stored in the file_name variable?
}
Комментарии:
1. Каким образом это не работает?
2. @MohammadMalek PHP не волнует 3v4l.org/dDHDm
3. Я пытался, но результат тот же.
4. Но в другом файле <?php $ _SERVER[‘PHP_SELF’] ?> она работает, но я использую действие вне файла, и она исчезла. Результат пуст для моего image_old.
5. Хотя
Else statement variable
это забавное обозначение,$file_name
объявление в каждой из «областейthen
иelse
» вполне может быть вашей проблемой — особенно если вы попытаетесь использовать ее после if-then-else . Тем не менее, обрабатывайте большие данные, такие как изображения или файлы, как большие данные , а не текст / строки, используя файлы или PDF-файлы вместо литералов, представленных в виде строк.
Ответ №1:
Почему эти данные не будут сохранены в переменной file_name?
Потому что isset($_FILES['image'])
всегда имеет значение true при вводе формы, даже если к ней не были прикреплены файлы.
Если вы хотите проверить наличие пустых изображений, тогда вам нужно посчитать входные изображения.
Самый простой способ — просто проверить количество элементов в массиве с !empty($_FILES['image'])
значением isset($_FILES['image'])
Но вы также можете проверить входные изображения, являются ли они правильными файлами, и только после этого перейти к else
инструкции.
Например:
$countOfGoodImages = 0;
if ( !empty($_FILES['image']) ) {
foreach ($_FILES['image'] as $imageValue) {
if ( isImageIsGoodForMe($imageValue) ) {
$countOfGoodImages ;
}
}
}
if ($countOfGoodImages) {
// good images
} else {
// use old images
}
Комментарии:
1. Прохладный.. Большое вам спасибо, теперь я знаю ^^