Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: редактировать загруженные файлы

Сообщения:  [1-10]   [11-19] 

 
 автор: cccp   (22.01.2006 в 15:55)   письмо автору
 
   для: WebTech   (22.01.2006 в 14:49)
 

Понятно!
Спасибо огромное WebTech !

   
 
 автор: WebTech   (22.01.2006 в 14:49)   письмо автору
 
   для: cccp   (22.01.2006 в 13:59)
 

То что надо :-)

   
 
 автор: cccp   (22.01.2006 в 13:59)   письмо автору
 
   для: WebTech   (22.01.2006 в 07:47)
 

И как же тогда сделать для .jpg файлов?
Или MIME-типе image/jpeg это то что и надо?

   
 
 автор: WebTech   (22.01.2006 в 07:47)   письмо автору
 
   для: cccp   (22.01.2006 в 03:04)
 

"image/gif" или "image/jpeg" так называются MIME-типы графических файлов GIF и JPEG.

Вот еще другие распространенные MIME-типы:
application/msword - документы Microsoft Word, расширение doc
application/x-shockwave-flash - Flash-ролики, swf
application/zip - архив zip
audio/midi - файлы mid
audio/mpeg - файлы mp3, mp2
audio/x-wav - файлы wav
image/bmp - изображения bmp
image/png - изображения png
image/tiff - изображения tiff
text/plane - файлы txt
video/mpeg - видеофайлы mpeg, mpe, mpg
video/x-msvideo - видеофайлы avi

Поэтому, для того, чтобы проверить, например, является ли загруженный файл zip-архивом, надо написать:

if ($filetype != 'application/zip')

кстати, у тебя написано image/jpg, такого MIME-типа нет, jpg - это расширение файла

   
 
 автор: cccp   (22.01.2006 в 03:04)   письмо автору
 
   для: WebTech   (21.01.2006 в 16:44)
 

Ок.
Спасибо Большое!


ПС:
Немного хочу вернутся назад...
В твоей строчке для обработки типа файлов:


$filetype = $_FILES['f']['type']; // poluchaem tip fajla 
  if ($filetype != 'image/gif' && $filetype != 'image/jpeg' && $filetype != 'image/pjpeg' && $filetype != 'image/jpg' && $filetype != 'image/bnp' && $filetype != 'image/png')


хочу понять...
Какую роль играет 'image/ ?

Если я захочу, как можно поменять например на файлы типа .mp3 или .wav ?

   
 
 автор: WebTech   (21.01.2006 в 16:44)   письмо автору
 
   для: cccp   (21.01.2006 в 14:53)
 

Ого! Эти функции принципиально нового ничего не делают, кроме того, что открывают popup ровно посерединке открытой страницы :-)
Если хочешь, можно использовать. Тебе нужна будет только одна функция popupWin(), и к тому же ее надо немного доработать. Так:

function popupWin(cardName, winW, winH, winTitle) 

nn4 = (document.layers)? true : false; 
ie4 = (document.all)? true : false; 
nn6 = (document.getElementById && !ie4)? true : false; 

if (nn4 || ie4 || nn6) { 
posX = Math.round((screen.width - winW) / 2); 
posY = Math.round((screen.height - winH) / 2); 
posCode = (nn4 || nn6)? 'screenX='+posX+',screenY='+posY : 'left='+posX+',top='+posY; 
} else { posCode = ''; } 
cardWindow = window.open('','_blank','menubar=no,toolbar=no,scrollbars=no,status=no,width='+winW+',height='+winH+','+posCode); 
cardWindow.document.open(); 
cardWindow.document.write('<html><head><title>'+winTitle+'<\/title><\/head>'); 
cardWindow.document.write('<body marginwidth=0 marginheight=0 topmargin=0 leftmargin=0 rightmargin=0 bottommargin=0>'); 
cardWindow.document.write('<img src="'+cardName+'"><\/body><\/html>'); 
cardWindow.document.close(); 
cardWindow.focus(); 
}

Эта функция принимает url картинки, ширину, высоту и четвертым параметром заголовок popup'a
Соответственно, когда надо вызвать, пишем

onClick="popupWin('<?php echo $dossier_cible.$f ?>', <?php echo $w ?><?php  echo $h ?>, 'header'); return false;"

В качестве заголовка окна я написал слово "header", но можно что угодно.

P.S.
Кстати, в Опере почему то не работает :-( Не размещает посередине экрана
И еще, просьба. Начинай новую тему в форуме, если она новая :-)

   
 
 автор: cccp   (21.01.2006 в 14:53)   письмо автору
 
   для: WebTech   (21.01.2006 в 13:51)
 

Да, ты был прав, я просто строку немножко не туда поставил.
Теперь работает, ОК !
ОГРОМНОЕ СПАСИБО, ещё раз!

Слушай, я тут сам пробовал поставить эту функцию, но не получилось.
Хотел бы узнать возможно ли вообше добавить это за место простого popup по размеру фото файла:


<script language="JavaScript"><!--
nn4 = (document.layers)? true : false;
ie4 = (document.all)? true : false;
nn6 = (document.getElementById && !ie4)? true : false;

function ow(cardName, winW, winH, winTitle) {
if (nn4 || ie4 || nn6) {
posX = Math.round((screen.width - winW) / 2);
posY = Math.round((screen.height - winH) / 2);
posCode = (nn4 || nn6)? 'screenX='+posX+',screenY='+posY : 'left='+posX+',top='+posY;
} else { posCode = ''; }
cardWindow = window.open('','ttt','menubar=no,toolbar=no,scrollbars=no,status=no,width='+winW+',height='+winH+','+posCode);
cardWindow.document.open();
cardWindow.document.write('<html><head><title>'+winTitle+'<\/title><\/head>');
cardWindow.document.write('<body marginwidth=0 marginheight=0 topmargin=0 leftmargin=0 rightmargin=0 bottommargin=0>');
cardWindow.document.write(cardName+'><\/body><\/html>');
cardWindow.document.close();
cardWindow.focus();
}

function popupWin(cardName, winW, winH, winTitle) {
if (nn4 || ie4 || nn6) {
posX = Math.round((screen.width - winW) / 2);
posY = Math.round((screen.height - winH) / 2);
posCode = (nn4 || nn6)? 'screenX='+posX+',screenY='+posY : 'left='+posX+',top='+posY;
} else { posCode = ''; }
cardWindow = window.open('','_blank','menubar=no,toolbar=no,scrollbars=no,status=no,width='+winW+',height='+winH+','+posCode);
cardWindow.document.open();
cardWindow.document.write('<html><head><title>'+winTitle+'<\/title><\/head>');
cardWindow.document.write('<body marginwidth=0 marginheight=0 topmargin=0 leftmargin=0 rightmargin=0 bottommargin=0>');
cardWindow.document.write(cardName+'><\/body><\/html>');
cardWindow.document.close();
cardWindow.focus();
}
// -->
</script>




onClick="popupWin('<img src=<?php echo $dossier_cible.$f ?>'); return false;">

   
 
 автор: WebTech   (21.01.2006 в 13:51)   письмо автору
 
   для: cccp   (21.01.2006 в 11:50)
 

У меня все работает. А ты куда поставил эту проверку? Она должна быть внутри секции

if(isset($_FILES['f']) && isset($_POST['d'])) 
  { 
  ...
  }

А может быть ты загружаешь какие-нибудь еще файлы? Не JPEG и не GIF?

   
 
 автор: cccp   (21.01.2006 в 11:50)   письмо автору
 
   для: WebTech   (21.01.2006 в 10:03)
 

Спасибо!
Только теперь какая-то ошибка проишодит в каждый раз.
Я теперь не могу просто выйти на эту страничку.
У меня сразу пишет:
"Разрешено загружать только файлы типов JPEG или GIF"

   
 
 автор: WebTech   (21.01.2006 в 10:03)   письмо автору
 
   для: cccp   (21.01.2006 в 01:39)
 

В файле upload_discography.php надо добавить проверку на тип переданного от клиента файла до все остальных проверок, т.е. до проверки на загруженность файла и на существование файла. Добавь строки

  $filetype = $_FILES['f']['type']; // получаем тип файла
  if ($filetype != 'image/gif' && $filetype != 'image/jpeg' && $filetype != 'image/pjpeg')
    {
    die ("<center>
        Разрешено загружать только файлы типов JPEG или GIF!<br>
        <a href=\"#\" onclick=\"history.go(-1);return(false)\">Retour</a>
        </center>");
    }

Проверка на image/jpeg или image/pjpeg нужна потому, что разные клиенты немного по разному передают MIME-тип файла. Например, Internet Explorer передает MIME-тип для файлов JPEG как "image/pjpeg", а Опера передает как "image/jpeg".

   

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования