У мну есть проблемка...
Вот этим
if(copy($HTTP_POST_FILES['f_add']['tmp_name'], $t))
Я загружаю файлы на сервер...
Ну так вот, работает на Opera, Mozilla FireFox, Safari, Google Chrome, а вот на IE не работает... проверял с версии 6 по 8
ХТМЛ
<form enctype='multipart/form-data' action='' method='post'>
<input name=f_add type='file'>
Подскажите пожалуйста, что делать?
Спустя 1 минута, 50 секунд (8.10.2010 - 11:28) linker написал(а):
<input type="hidden" name="MAX_FILE_SIZE" value="тут значение">
Спустя 10 минут, 57 секунд (8.10.2010 - 11:38) AlexanderShad написал(а):
Цитата (linker @ 8.10.2010 - 08:28) |
<input type="hidden" name="MAX_FILE_SIZE" value="тут значение"> |
не работает
<form enctype='multipart/form-data' action='' method='post'>
<input type='hidden' name='MAX_FILE_SIZE' value='400000'>
<input name=f_add type='file'>
<input type='submit' name='submit1' value='Добавить' class='btn'>
value='400000' я так понял максимальный размер файла..
хотя мне надо 307200 (300 кб)
но на всякий случай поставил 400000
Спустя 2 минуты, 24 секунды (8.10.2010 - 11:41) waldicom написал(а):
Это поле не проверяет ни один широко распростарненный браузер.
Вместо copy() использовать move_uploaded_file()
И наконец: что конкретно не работает?
Вместо copy() использовать move_uploaded_file()
И наконец: что конкретно не работает?
Спустя 22 минуты, 43 секунды (8.10.2010 - 12:04) silius написал(а):
Цитата (AlexanderShad @ 8.10.2010 - 08:26) |
|
Используй лучше
$_FILES['f_add']['tmp_name']
Там где ты это взял, немного выше в замечании написано почему
Спустя 1 минута, 57 секунд (8.10.2010 - 12:06) AlexanderShad написал(а):
Не работает и с move_uploaded_file()
ммм...
выкладываю кусок
ммм...
выкладываю кусок
if (($_GET['foto']=='add')&&($_GET['user']==$id_u))
{
if (isset($HTTP_POST_FILES['f_add']))
{
if (is_uploaded_file($HTTP_POST_FILES['f_add']['tmp_name']))
{
if ($HTTP_POST_FILES['f_add']['size']<=307200)
{
if(
($HTTP_POST_FILES['f_add']['type']=="image/gif") ||
($HTTP_POST_FILES['f_add']['type']=="image/jpeg") ||
($HTTP_POST_FILES['f_add']['type']=="image/jpg") ||
($HTTP_POST_FILES['f_add']['type']=="image/png"))
{
$rn = rand(0,1000);
include $_SERVER['DOCUMENT_ROOT']."/modul.php";
$t ="./pics/temp".$id_u."_".convert_name($HTTP_POST_FILES['f_add']['name']);
$t0 =convert_name($HTTP_POST_FILES['f_add']['name']);
if(copy($HTTP_POST_FILES['f_add']['tmp_name'], $t))
{
$t_ ="./pics/pics".$rn.$id_u."_".$t0;
$imgsize = getimagesize($t);
//--- ну и так далее
<form enctype='multipart/form-data' action='./editfoto.php?foto=add&user=".$_GET['user']."' method='post'>
Добавить фото в альбом <select name=\"vibrf\">
<option value='0'>Нет альбома</option>";
//--- кусок кода
echo "<option value=".$row['id'].">".$row['mnazvanie']."</option>";
//--- кусок кода
echo "</select>
<input name=f_add type='file'>
<input type='submit' name='submit1' value='Добавить фото' class='btn'></form>";
Спустя 1 минута, 28 секунд (8.10.2010 - 12:07) AlexanderShad написал(а):
Цитата (silius @ 8.10.2010 - 09:04) | ||
Используй лучше
Там где ты это взял, немного выше в замечании написано почему |
Я много где читал если честно
Всего и не упомнишь )))
Спустя 2 минуты, 33 секунды (8.10.2010 - 12:10) silius написал(а):
я просто думал, что взял от сюда.
Всё дело в том, что с файлами, как ты хочешь работает массив $_FILES, он специально предназначен для этого.
а лучше использовать эту функцию для загрузки файлов:
Всё дело в том, что с файлами, как ты хочешь работает массив $_FILES, он специально предназначен для этого.
а лучше использовать эту функцию для загрузки файлов:
move_uploaded_file()
Спустя 5 минут, 11 секунд (8.10.2010 - 12:15) linker написал(а):
Цитата |
Ну так вот, работает на Opera, Mozilla FireFox, Safari, Google Chrome, а вот на IE не работает... проверял с версии 6 по 8 |
Может стоит задуматься над этим, прежде чем предлагать какие-то версии?
Спустя 3 минуты, 40 секунд (8.10.2010 - 12:18) AlexanderShad написал(а):
Цитата (silius @ 8.10.2010 - 09:10) |
я просто думал, что взял от сюда. Всё дело в том, что с файлами, как ты хочешь работает массив $_FILES, он специально предназначен для этого. а лучше использовать эту функцию для загрузки файлов:
|
Я читал про $_FILES
Но так самое интересное, знаете в чем...
что допустим аватарка у меня грузится в IE
т.е. ниже работает
if (isset($HTTP_POST_FILES['r_avatar']))
{
if (is_uploaded_file($HTTP_POST_FILES['r_avatar']['tmp_name']))
{
$imgsize = getimagesize($HTTP_POST_FILES['r_avatar']['tmp_name']);
if (($imgsize[0] <= 100) && ($imgsize[1] <= 100))
//if ($HTTP_POST_FILES['r_avatar']['size']<=40960)
{
if(($HTTP_POST_FILES['r_avatar']['type']=="image/gif") ||
($HTTP_POST_FILES['r_avatar']['type']=="image/pjpeg") ||
($HTTP_POST_FILES['r_avatar']['type']=="image/jpeg") ||
($HTTP_POST_FILES['r_avatar']['type']=="image/jpg") ||
($HTTP_POST_FILES['r_avatar']['type']=="image/jpg") ||
($HTTP_POST_FILES['r_avatar']['type']=="image/bmp") ||
($HTTP_POST_FILES['r_avatar']['type']=="image/JPEG") ||
($HTTP_POST_FILES['r_avatar']['type']=="image/png"))
{
include $_SERVER['DOCUMENT_ROOT']."/modul.php";
$t_m = convert_name($HTTP_POST_FILES['r_avatar']['name']);
if(copy($HTTP_POST_FILES['r_avatar']['tmp_name'], "./avatar/avatar".$id_u."_".$t_m))
{
///--- и т.д.
<form enctype='multipart/form-data' action='./editprofil.php?action=go' method='post'>
//-- и тд
<input name=r_avatar type='file'>
И тут нету MAX_FILE_SIZE
Спустя 2 минуты, 9 секунд (8.10.2010 - 12:21) AlexanderShad написал(а):
Цитата (linker @ 8.10.2010 - 09:15) | ||
Может стоит задуматься над этим, прежде чем предлагать какие-то версии? |
Если честно, то Вас не понял
...
кажись понял
Спустя 38 минут, 36 секунд (8.10.2010 - 12:59) AlexanderShad написал(а):
Кстати на IE не только у меня не грузится.. я уже знаю про 4-е случая.. не считая еще мой работы)
Спустя 3 минуты, 22 секунды (8.10.2010 - 13:03) linker написал(а):
Как вариант попробуй так
<form enctype="multipart/form-data" action="editfoto.php" method="post">
<input type="hidden" name="foto" value="add">
<input type="hidden" name="user" value="' . $_GET['user'] . '">
...
Спустя 42 минуты (8.10.2010 - 13:45) AlexanderShad написал(а):
хорошо, спасибо. Попробую.
Потом отпишусь
Потом отпишусь
Спустя 1 день, 15 часов, 38 минут, 14 секунд (10.10.2010 - 05:23) AlexanderShad написал(а):
Доброго времени суток всем.
Методом научного тыка, выяснил, что IE не отрабатывает
Т.е. не выполняется это условие...
и скрипт просто пропускает все нужные действия.. до загрузки даже не доходит
Что делать?
Методом научного тыка, выяснил, что IE не отрабатывает
if(
($HTTP_POST_FILES['f_add']['type']=="image/gif") ||
($HTTP_POST_FILES['f_add']['type']=="image/jpeg") ||
($HTTP_POST_FILES['f_add']['type']=="image/jpg") ||
($HTTP_POST_FILES['f_add']['type']=="image/png"))
{
Т.е. не выполняется это условие...
и скрипт просто пропускает все нужные действия.. до загрузки даже не доходит
Что делать?
Спустя 4 часа, 3 минуты, 57 секунд (10.10.2010 - 09:27) linker написал(а):
Как вариант - GD.
Спустя 12 минут, 24 секунды (10.10.2010 - 09:39) Michael написал(а):
Функцией getimagesize() проверяй картинки ли это. Она не требует GD, хотя, в общем то, GD стоит наверное почти везде на хостингах.
Спустя 5 часов, 42 минуты, 14 секунд (10.10.2010 - 15:21) AlexanderShad написал(а):
Я нашел решение ))
оказывается IE просто некоректно передавал тип файла...
о так прально
оказывается IE просто некоректно передавал тип файла...
о так прально
($HTTP_POST_FILES['f_add']['type']=="image/gif") ||
($HTTP_POST_FILES['f_add']['type']=="image/pjpeg") ||
($HTTP_POST_FILES['f_add']['type']=="image/jpeg") ||
($HTTP_POST_FILES['f_add']['type']=="image/jpg") ||
($HTTP_POST_FILES['f_add']['type']=="image/png") ||
($HTTP_POST_FILES['f_add']['type']=="image/x-png"))
Спустя 45 секунд (10.10.2010 - 15:22) AlexanderShad написал(а):
Сейчас у меня все работает.
Всем большое спасибо
Всем большое спасибо
Спустя 10 дней, 7 часов, 49 минут, 10 секунд (20.10.2010 - 23:11) jimmlove.ru написал(а):
А зачем так много писать то? Для проверки типа файла можно заранее определить файл. И заключить в масив например $fidname=$_FILES['r_avatar']['name'];
а потом
if (ereg("\.PNG$",$fidname) || ereg("\.png$",$fidname) || ereg("\.jpg$",$fidname) || ereg("\.jpeg$",$fidname) || ereg("\.gif$",$fidname) ||ereg("\.GIF$",$fidname) || ereg("\.JPG$",$fidname) || ereg("\.JPEG$",$fidname)){echo'Добавляем картинку';}else{echo' не тот тип файла';}
и при добавлении файла на сервер лучше использовать не
copy()
а
move_uploaded_file()
если я правильно понял проблему.
а потом
if (ereg("\.PNG$",$fidname) || ereg("\.png$",$fidname) || ereg("\.jpg$",$fidname) || ereg("\.jpeg$",$fidname) || ereg("\.gif$",$fidname) ||ereg("\.GIF$",$fidname) || ereg("\.JPG$",$fidname) || ereg("\.JPEG$",$fidname)){echo'Добавляем картинку';}else{echo' не тот тип файла';}
и при добавлении файла на сервер лучше использовать не
copy()
а
move_uploaded_file()
если я правильно понял проблему.