DarkElf, пардон. Сам затупил =) Просмотрел, что ты их сабстром выковыриваешь сначала =) Мои извинения...
За темой с начала не следил, но что-то я вас не понимаю, не судите о файле по его разшерению, это не имеет никакого отнашению к самому файлу, это лишь его имя. 1. Если вам нужен тип картинки то проверьте так PHP: <?php $info = getimagesize($file); if ($info[2]==1) $ext="gif"; if ($info[2]==2) $ext="jpg"; if ($info[2]==3) $ext="png"; if ($info[2]==4) $ext="swf"; if ($info[2]==5) $ext="psd"; if ($info[2]==6) $ext="bmp"; ?> Тогда хоть image.txt закачивайте. (расширение нужно для ассоциации программ к файлам) 2. Как это PNG не понимает IE шутите что ли , если вы еще скажете что цвета png IE портит я ваще умру
Mavir ты очень странный ты и mp3 IE слушаешь =) Я картинки открываю XnView или ACDS обычно. А MSIE это браузер я в нем HTML смотрю и png там с альфой. Всё объяснять нужно, есть вопросы? Смотри тут!
Горбунов Олег, не флуди причем тут рандомайзелись или не рандомайзелись, не об этом речь. PS. на внутр.стр. рандомайзятся
draak, Вы не поняли сообщения В сыром виде IE не правильно отображает прозрачности. Что же Вы показали рисунок обработаный стилями? Я в IE могу слушать музыку, например, через flash или проигрыватель
IE это браузер для рендера html кода! html код это язык гиперразметки включающий в себя html-теги (разметка) и CSS (style тоже html тег). Так вот IE в любом случае показывает картинку обработанную стилями. по умолчанию они берутся дефолтные. А в сыром виде все браузеры все показывают не очень то и правильно
Я так и не смог понять о чем щас идет речь. О трех столбиках, о загрузки файла или о проверки его типа. Сформулируйте текущий вопрос по новой.
Marvi прав это то о чем я говорил. ПНГ не для ИЕ. Я сам дезайнер и часто сталкиваюсь с такой проблемой.
Горбунов Олег, рисунок вставляется через <img src="imgname">. И если не использовать стили (можно сказать - костыли), то png будет не правильно отображаться. Здесь спор ни о чем. Вы говорите, что можно в IE использовать png. Я с эти не спорю и полностью согласен. Но правильно показывать, без какой-либо обработки стилями, IE не может.
PHP: <?php if(!$_FILES['upload_table']['tmp_name']){print("Файла не передано."); exit();}; if($_FILES['upload_table']['size'] > '6000'){print("Размер файла превышает допустимый: ".$_FILES['upload_table']['size']); exit();}; if(!ereg("^image",$_FILES['upload_table']['type'])){print("Передан недопустимый тип файла"); exit();}; $fname = time().'_'.md5($_FILES['upload_table']['name']); $type_str = substr($_FILES['upload_table']['type'],6,10); $info = @getimagesize($_FILES['upload_table']['tmp_name']); if(!$info){ if(ereg("(gif)",$type_str)){$type = 'gif';} elseif(ereg("(jpeg)",$type_str)){$type = 'jpg';} elseif(ereg("(jpg)",$type_str)){$type = 'jpg';} elseif(ereg("(png)",$type_str)){$type = 'png';} else{print("Тип файла не опознан."); exit();}; } else{ switch($info[2]) case "1": $type="gif"; break; case "2": $type="jpg"; break; case "3": $type="png"; break; case "4": $type="swf"; break; case "5": $type="psd"; break; case "6": $type="bmp"; break; default: "тип файла неизвестен"; exit(); break; }; $fname .= '.'.$type; copy($_FILES['upload_table']['tmp_name'],$fname); ?> таак, оба варианта проверки объединил (второй, на основе переданного из формы, работает, если на сервере нет библиотеки GD и следовательно недоступна функция getimagesize(). что еще можно улучшить в плане безопасности/надежности?
Пришла в мою голову ещё одна идея вчера по поводу того, что надо бы сделать комментарии к присоединяемым фотам. Сделал форму в которую люди могут их писать и которые потом пишутся в файл. Была идея сделать так: Человек высылает фото. У него есть какое-то имя, и комментарии пишутся в текстовый файл с таким же названием. А потом публикуются в таблице слева столбик с фото, а справа столбик с комментариями к ним. Можно ли такое сделать при работе с файлами? Если да, то плз помогите реализовать... Сидел со вчерашнего вечера так ничего толком и не выводится.
Борис генерируй с тем же именем, что и графика, текстовый файл, с определенной структурой, и залисывай туда усе, что душе угодно..
Борис переменная $fname - содержит имя файла с расширением.. можно либо к этому имени добавить новое разрешениее, напрм, 4546bb.jpg.txt либо заменить 3 последних символа на txt создать файл можно, просто открывая его на запись. если файл не существует и имеются достаточные права, то файл создастся сам.
Подскажи пожалуйста как добавить .txt к концу, а потом как его открывать на запись, когда это как бы переменная, ведь его имя мы получаем только когда люди "Нажимают кнопочку"
Борис ну, у тебя же есть форма загрузки файла, туда же добавляешь поля типа описания и т.п. в итоге у тебя все это передается сразу. как итог, переменная $fname существует. делаешь, например, вот так: $fname2 = $fname.'.txt'; $f = fopen('./'.$fname2,"w"); //получение и проверка переданных данных $str //строка описания файлов с определенным разделителем fwrite($f,$str); fclose($f);
Вот код: Код (Text): <FORM ENCTYPE="multipart/form-data" ACTION="" METHOD="POST"> Выберите фото для отправки: <INPUT NAME="addimg" TYPE="file"> <br> Ваш комментарий:<br> <TEXTAREA NAME="txt" ROWS=3 COLS=37> </TEXTAREA> <P> <INPUT TYPE="submit" VALUE="Закинуть фотку"> </FORM> <a href="http://www.okrugin.spb.ru/index.htm"><u>На главную</u></a> <br><br> </table> <u><b>Загруженные фотo:</b></u><br><br> <br><br> <?php $up_dir = 'uploads/'; $handle = opendir($up_dir); if(!empty($_FILES['addimg']['name'])) { move_uploaded_file($_FILES['addimg']['tmp_name'],"uploads/".$_FILES['addimg']['name']); } if ($handle = opendir($up_dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db") { $info = pathinfo($file); if ($info['extension'] == "jpg" || $info['extension'] == "gif" || $info['extension'] == "bmp") { echo "<a href=$up_dir/$file>$file</a><br>"; echo "<a href=$up_dir/$file><img src=$up_dir/$file height=300border=\"0\"></a><br><br>"; $file2 = $file.'.txt'; $f = fopen('./'.$file2,"w"); $txt = (isset($_POST['txt'])) ? $_POST['txt'] : ''; if ( !empty($txt) ){ fwrite($f,$txt); fclose($f); } else{ echo "Комментариев нет..."; } echo " $handle = fopen($file2, 'a'); $contents = fread($handle, filesize($filename)); $contents = str_replace($contents); print $contents; fclose($handle); "; } else { echo "$file<br><br>"; } } } closedir($handle); } ?> Пишет ошибки: Помагите с ними пожалуйста... Notice: Undefined variable: contents in D:\wwwroot\okrugin\posting\foto.php on line 99 Notice: Undefined variable: filename in D:\wwwroot\okrugin\posting\foto.php on line 101 Notice: Undefined variable: contents in D:\wwwroot\okrugin\posting\foto.php on line 101 Notice: Undefined variable: contents in D:\wwwroot\okrugin\posting\foto.php on line 103 Notice: Undefined variable: contents in D:\wwwroot\okrugin\posting\foto.php on line 104 Resource id #5 = fopen(balance1[1].jpg.txt, 'a'); = fread(Resource id #5, filesize()); = str_replace(); print ; fclose(Resource id #5);
PHP: echo " \$handle = fopen(\$file2, 'a'); \$contents = fread(\$handle, filesize(\$filename)); \$contents = str_replace(\$contents); print \$contents; fclose(\$handle); "; p.s. дико бессмысленный кусок кода.