Есть папка - "images" / админка управляющая одним файлом "001.jpg" надо код вида >>> --- Обзор - выбор файла на компьютере . Ниже - картинка которая сейчас загружена в папку . картинка все время будет одного названия и формата "001.jpg" . Загрузить - подтверждение , после чего страница обновляется и вместо старого изображения отображается загруженное , это я про "файл который сейчас в папке" --- спасибо . буду рад каждому ответу . И всех с наступающим!!!
PHP: <form enctype="multipart/form-data" action="?" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="999999"> <input type="file" name="fajl" /> <input type="submit" /> </form> Файл, который сейчас в папке:<br /> <img src="./images/001.jpg" /> <?php if (count($_FILES)>0){ @move_uploaded_file($_FILES['fajl']['tmp_name'],getcwd()."/images/001.jpg"); } ?> ?
а лучше так чтобы не кешировалась картинка PHP: <form enctype="multipart/form-data" action="?" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="999999"> <input type="file" name="fajl" /> <input type="submit" /> </form> <img src="./images/001.jpg?<?php echo rand(0,10000); ?>" /> <?php if (count($_FILES)>0){ @move_uploaded_file($_FILES['fajl']['tmp_name'],getcwd()."/images/001.jpg"); } ?>
Не буду создавать новую тему, просто здесь опишу свою проблему. Есть такой вот код, который должен заливать аватар юзера в папку... но почему то этого не делает. Подскажите, где может быть ошибка? PHP: if (!$_FILES[newavatar][name]) { echo'Не пойму не работает! :('; } else { $filesize_2 = $_FILES[newavatar][size]; if ($filesize_2 > $max_upload_size) { echo "<span class=\"error\">Warning: Max file size exceeded on image #2. Max upload size: ". $max_upload_size / 1024 ." kb</span><br>"; } else { $ext_2 = strrchr($_FILES[newavatar][name],'.'); if ($ext_2 == ".gif" || $ext_2 == ".jpeg" || $ext_2 == ".png" || $ext_2 == ".jpg") { $filenamea = str_replace("?", "", $_FILES[newavatar][name]); $filenameb = str_replace(":", "", $filenamea); $filenamec = str_replace(" ", "", $filenameb); $add = "images/avatars/$time" . "_" . "$username" . "$filenamec"; copy($_FILES[newavatar][tmp_name], $add); chmod("$add",0777); // Delete old avatar $old_avatar = mysql_query("SELECT * FROM ccms_user where username='$username'"); while ($row = mysql_fetch_assoc($old_avatar)) { if (file_exists($row[avatar])) { unlink($row[avatar]); } } mysql_query("UPDATE ccms_user SET avatar='$add' WHERE username='$username'"); } else { echo "<SPAN class=\"error\">Warning: Avatar - Only .gif, .jpg and .png files may be uploaded.</SPAN><br />"; } } } Причем все данные в БД скрипт записывает нормально, то есть адрес картинки выводится какой надо и где надо, но самой картинки в папке нету.. Картинка соответствует требованиям по размеру и расширению и, соответственно, папка, в которую заливаются аватарки, имеет соответствующие права.
Вместо PHP: copy($_FILES[newavatar][tmp_name], $add); сделай PHP: move_uploaded_file($_FILES['newavatar']['tmp_name'],$add);
Странно как то... файл загружается только тогда, когда нажмешь определенную ссылку. К примеру, загрузил я аватар, в папке авы нету и в том месте, где она должна отображаться не отображантся. Попробовал нажать на ссылку "редактировать профиль"- аватар появился.. а если нажать на ссылку "На главную" аватар так и не появляется.. :/ Пробовал запретить кеширование - все равно ничего не выходит ((
попробуй выводить каринку как я например: <img src="./images/001.jpg?<?php echo rand(0,10000); ?>" />
А зачем вот это: <?php echo rand(0,10000); ?> :/ UPD: чтоб картинка не кешировалась )) UPD: нет, не помогает