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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Закачка файлов на сервер
 
 автор: tokmak   (11.02.2007 в 21:04)   письмо автору
 
 

Как сделать чтобы в папку закачивались только изображения. То есть при выборе файла
происходит проверка относится ли он к рисункам и если да то загружается на сервер.

   
 
 автор: tokmak   (11.02.2007 в 21:24)   письмо автору
 
   для: tokmak   (11.02.2007 в 21:04)
 

Люди помогите. плиз. Я просто новичок в этом деле. Но многое уже знаю.

   
 
 автор: Unkind   (11.02.2007 в 21:40)   письмо автору
 
   для: tokmak   (11.02.2007 в 21:24)
 

Имеет смысл делать проверку через getimagesize() + надо генерировать имена файлов самому.

   
 
 автор: tokmak   (11.02.2007 в 21:46)   письмо автору
 
   для: Unkind   (11.02.2007 в 21:40)
 

я попробовал сделать так

if (is_uploaded_file($_FILES['userfile']['type']['image/jpg'])) {
операции }
else { echo "Error"; } 

Постоянно пишет Error

   
 
 автор: cheops   (11.02.2007 в 22:04)   письмо автору
 
   для: tokmak   (11.02.2007 в 21:46)
 

Можно поступить следующим образом
<?php
  
if(!(strpos($_FILES['userfile']['type'], "image") !== false))
  {
    exit(
"Ошибка");
  }
?>

   
 
 автор: tokmak   (12.02.2007 в 16:16)   письмо автору
 
   для: cheops   (11.02.2007 в 22:04)
 

Попробовал метод сработал. Спасибо. Сделал проверку чтобы при пустом поле userfile все равно выполнялся скрипт. Можно ли как-нибудь сделать проверку
Если выбранный файл имеет такое же имя как с загруженным файлом на сервере, то оно меняется автоматически. Короче говоря, как создать автоматическую генерацию имя загружаемого файла? Может это и примитивный вопрос, но просто я не мастер в php полгода всего лишь изучаю.

   
 
 автор: tokmak   (12.02.2007 в 17:01)   письмо автору
 
   для: tokmak   (12.02.2007 в 16:16)
 

Все разобрался можно не отвечать.

   
 
 автор: Sl   (11.02.2007 в 22:40)   письмо автору
 
   для: tokmak   (11.02.2007 в 21:04)
 


<?
$imgdir
"images";
@
mkdir($imgdir,0777);
if(@
$_REQUEST['upload'])
{
   
$data $_FILE['img_file'];
   
$tmp $data['tmp_name'];
   if(@
file_exists($tmp))
   {
      
$info_image = @getimagesize($_FILES['img_file']['tmp_name']);
      if(
preg_match('{image/(.*)}is'$info_image['mime'], $p)
      {
         
$name_img "$imgdir/".time().".".$p[1]='png';
         
move_uploaded_file($tmp,$name_img);
         echo 
"<tt>Файл успешно добавлен!</tt>";
      }
      else
      {
          echo 
"<tt>Попытка добавить файл недопустимого формата</tt>";
       }
    }
    else {
        echo 
"<tt>Ошибка закачки {$data['error']}!</tt>";
     }
}
?>
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method=post enctype="multipart/form-data">
<input type=file name="img_file"><br>
<input type=submit name="upload" value="Закачать фотку">
</form>

Вроде все должно работать

   
Rambler's Top100
вверх

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