Добрый всме день... Появилась проблемка у меня: Заключается в том, что при создании новости я прикрепляю изображение, через HTML: <INPUT name="picture_small" SIZE="60" MAXLENGTH="80" VALUE="" type="file" > все норм... При редактировании этой новости так: HTML: <INPUT name="picture_small" SIZE="60" MAXLENGTH="80" VALUE="'.$picture_small.'" type="file" > И тут проблема, строка из БД не достается, если убираю из этого поля HTML: type="file" то все путем... Подскажите решение плиз...
В тип поля file нельзя установить value. Тебе нужно показывать текущую картинку (через <img />) в форме редактирования и под ней поле с типом file, чтобы её перезалить на новую. То есть, если $_FILES после сабмита формы пустой или имеет ошибку ($_FILES['picture_small']['error']), то картинка остаётся прежняя.
про img понял - спасибо большое, но вот куда прикрутить PHP: $_FILES['picture_small']['error'] немного не понятно... Подскажи плиз... PHP: if ($_FILES['picture_small']['tmp_name'] != "" && $_FILES['picture_small']['tmp_name'] != "-") { $path="../images/news/s_".date("YmdHis",time()).strrchr($_FILES['picture_small']['name'], "."); if (copy($_FILES['picture_small']['tmp_name'], "".$path)) $picture_small=$path; }
В принципе сделал через сокрытие еще одного поля, т.е. получилось так: PHP: <TD class="newsaddinp"><INPUT name="picture_small" SIZE="60" MAXLENGTH="80" type="file" > <INPUT name="picture_small" SIZE="60" MAXLENGTH="80" type="hidden" value="'.$picture_small.'"> </TD> Все работает и хорошо, если поле file пустое то обрабатывается скрытое поле, если заполнено, то обрабатывается оно... Но весь минус в такой процедуре в том, что при редактировании не выводится ссылка в поле, которая была до этого...
Я не понял второй вопрос. Про $_FILES['picture_small']['error'] HTML: <TD class="newsaddinp"> <img src="'.$picture_small.'" /> <INPUT name="picture_small" SIZE="60" MAXLENGTH="80" type="file" > </TD> При нажатии на кнопку: PHP: <?php if (!$_FILES['picture_small']['error'] and шs_uploaded_file($_FILES['picture_small']['tmp_name'])){ $path="../images/news/s_".date("YmdHis",time()).strrchr($_FILES['picture_small']['name'], "."); if (move_uploaded_file($_FILES['picture_small']['tmp_name'], $path)) $picture_small = $path; }
Сделал по другому - и считаю что так наиболее удобно будет: а сделал всего навсего так: <INPUT name="picture_small" SIZE="60" MAXLENGTH="80" type="text" value="'.$picture_small.'"> <INPUT name="picture_small" SIZE="60" MAXLENGTH="80" type="file" > Объясню почему посчитал этот вариант самым достойнм. 1. можно указать путь к картинке на другом сервере, так же прописать руками на картинку со своего... Если файл не грузится с компа, то идет в базу эта ссылка... А если грузится, то меняется на новую, только что загруженныю... Считаю что так удобнее всего работать... Может я и не прав, и лишнее поле появилсь, но мое ИМХО такое...