Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
PHP - загрузка изображения в папку |

20.12.2008, 15:20
|
|
Познающий
Регистрация: 13.12.2008
Сообщений: 75
Провел на форуме: 128428
Репутация:
20
|
|
PHP - загрузка изображения в папку
Есть папка - "images" /
админка управляющая одним файлом "001.jpg"
надо код вида >>>
---
Обзор - выбор файла на компьютере .
Ниже - картинка которая сейчас загружена в папку .
картинка все время будет одного названия и формата "001.jpg" .
Загрузить - подтверждение , после чего страница обновляется и вместо старого изображения отображается загруженное , это я про "файл который сейчас в папке"
---
спасибо .
буду рад каждому ответу .
И всех с наступающим!!!
|
|
|

20.12.2008, 16:01
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
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");
}
?>
?
|
|
|

20.12.2008, 16:07
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
а лучше так чтобы не кешировалась картинка
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");
}
?>
|
|
|

20.12.2008, 16:30
|
|
Познающий
Регистрация: 13.12.2008
Сообщений: 75
Провел на форуме: 128428
Репутация:
20
|
|
Сообщение от ntldr
а лучше так чтобы не кешировалась картинка
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");
}
?>
Спасибо большое !
Все идеально работает!
|
|
|

20.12.2008, 17:12
|
|
Познающий
Регистрация: 18.04.2008
Сообщений: 62
Провел на форуме: 279406
Репутация:
37
|
|
Не буду создавать новую тему, просто здесь опишу свою проблему.
Есть такой вот код, который должен заливать аватар юзера в папку... но почему то этого не делает. Подскажите, где может быть ошибка?
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 />";
}
}
}
Причем все данные в БД скрипт записывает нормально, то есть адрес картинки выводится какой надо и где надо, но самой картинки в папке нету.. Картинка соответствует требованиям по размеру и расширению и, соответственно, папка, в которую заливаются аватарки, имеет соответствующие права.
|
|
|

20.12.2008, 17:18
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
Вместо
PHP код:
copy($_FILES[newavatar][tmp_name], $add);
сделай
PHP код:
move_uploaded_file($_FILES['newavatar']['tmp_name'],$add);
|
|
|

20.12.2008, 17:45
|
|
Познающий
Регистрация: 18.04.2008
Сообщений: 62
Провел на форуме: 279406
Репутация:
37
|
|
Странно как то... файл загружается только тогда, когда нажмешь определенную ссылку. К примеру, загрузил я аватар, в папке авы нету и в том месте, где она должна отображаться не отображантся. Попробовал нажать на ссылку "редактировать профиль"- аватар появился.. а если нажать на ссылку "На главную" аватар так и не появляется.. :/
Пробовал запретить кеширование - все равно ничего не выходит ((
Последний раз редактировалось Thrasher88; 20.12.2008 в 17:54..
|
|
|

20.12.2008, 17:56
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
попробуй выводить каринку как я например:
<img src="./images/001.jpg?<?php echo rand(0,10000); ?>" />
|
|
|

20.12.2008, 18:04
|
|
Познающий
Регистрация: 18.04.2008
Сообщений: 62
Провел на форуме: 279406
Репутация:
37
|
|
А зачем вот это:
<?php echo rand(0,10000); ?> :/
UPD: чтоб картинка не кешировалась ))
UPD: нет, не помогает 
Последний раз редактировалось Thrasher88; 20.12.2008 в 18:16..
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|