Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2017, 13:22   #1
kuzmich
Форумчанин
 
Аватар для kuzmich
 
Регистрация: 05.05.2007
Сообщений: 236
Вопрос загрузка изображения на сервер

всем привет!...

не загружается изображения.

форма ввода

PHP код:
<form name="form1" method="post" action="add_service.php">
    <table width="90%" align="center" class="table_categories">
      <tr>
        <td width="10%"><div align="center"><strong>Раздел:</strong></div></td>
        <td width="40%">
         <select size="1" name="cat_id" onchange="javascript:selectRegion();" style="float:left;">
<option value="">Все разделы</option>
<optgroup label="Выберите раздел">
<?php
 $result1 
mysql_query("select * from categories where pod_id='0'",$db);
if (!
$result1)
{
echo 
"<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>";
exit(
mysql_error());
}
if (
mysql_num_rows($result1) > 0){
$myrow1 mysql_fetch_array($result1);
do
{
printf ("<option value='%s'>%s</option>",$myrow1["id"],$myrow1["title"]);
}
while (
$myrow1 mysql_fetch_array($result1));
}
else
{
echo 
"<p>Информация по запросу не может быть извлечина, в таблице нет записей!</p>";
exit();
}
?>
</optgroup>
</select>


        </td>
        <td width="10%"><div align="center"><strong>Рубрика:</strong></div></td>
        <td width="40%">
<div name="selectDataRegion" style="float:left;"></div>
<script type="text/javascript">
function selectRegion(){
        var cat_id = $('select[name="cat_id"]').val();
        if(!cat_id){
                $('div[name="selectDataRegion"]').html('');
        }else{
                $.ajax({
                        type: "POST",
                        url: "include/ajax.base.php",
                        data: { action: 'showRegionForInsert', cat_id: cat_id },
                        cache: false,
                        success: function(responce){ $('div[name="selectDataRegion"]').html(responce); }
                });
        };
};

</script>
        </td>
      </tr>
      <tr>
        <td colspan="4">
<?php
    
if (empty($_SESSION['login']) or empty($_SESSION['id'])) {
    echo 
"Вы не прошли авторизацию!";
    }
    else
    {
    
$result mysql_query("select * from users where id='".$_SESSION['id']."'",$db);
if (!
$result)
{
echo 
"<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>";
exit(
mysql_error());
}
if (
mysql_num_rows($result) > 0){
$myrow mysql_fetch_array($result);
    echo 
"
            <table width='100%%' border='1'>
          <tr>
            <td width='10%%'><strong>Наименование:</strong></td>
            <td width='90%%'><input type='text' name='title' id='title'></td>
          </tr>
          <tr>
            <td valign='top'><strong>Описание:</strong></td>
            <td><textarea name='text' id='text' cols='40' rows='10'></textarea></td>
          </tr>
          <tr>
            <td valign='top'><strong>Изображение:</strong></td>
            <td><input type='file' name='img' id='img'></td>
          </tr>
          <tr>
            <td><strong>Город:</strong></td>
            <td>
<select name='city'>"
?>
<?php
            $result2 
mysql_query("select id, city from city order by city",$db);
if (!
$result2)
{
echo 
"<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>";
exit(
mysql_error());
}
if (
mysql_num_rows($result2) > 0){
$myrow2 mysql_fetch_array($result2);
do
{
printf ("<option>%s</option>",$myrow2["city"]);
}
while (
$myrow2 mysql_fetch_array($result2));
}
else
{
echo 
"<p>Информация по запросу не может быть извлечина, в таблице нет записей!</p>";
exit();
}
echo 
"</select>           
            </td>
          </tr>
          <tr>
            <td><strong>Улица:</strong> </td>
            <td><input type='text' name='street' id='street'></td>
          </tr>
          <tr>
            <td><strong>Телефон:</strong></td>
            <td><input type='text' name='phone' id='phone' value='"
.$myrow['phone']."'></td>
          </tr>
          <tr>
            <td><strong>E-Mail:</strong></td>
            <td><input type='text' name='mail' id='mail' value='"
.$myrow['mail']."'>";?> <input type='hidden' name='razdel' value='0'> <input type='hidden' name='date' value='<?php $date date("Y-m-d"); echo $date?>'></td>
          </tr>
          <tr>
           <td colspan="2"><div align="center"><input type="submit" name="submit" id="submit" value="Предложить услугу"></div></td>
          </tr>
        </table><?php
}
else
{
echo 
"<p>Информация по запросу не может быть извлечина, в таблице нет записей!</p>";
exit();
}
    }
?>
</td>
      </tr>
    </table>
    </form>
форма сохранения

PHP код:
<?php 

if(isset($_FILES['img']) && $_FILES['img']['error'] == 0){
    
// Директория для закачивания
    
$dir '/images/'
    
// Допустимые MIME-типы
    
$arrType = array('image/jpeg','image/gif','image/png',);
    
// Допустимые расширения
    
$arrExt = array('png''jpg''jpeg''gif');
    
// Получаем расширение файла
    
$ext pathinfo($_FILES['img']['name'], PATHINFO_EXTENSION);
    
// 1. Проверка MIME-тип файла и расширение
    
$finfo = new finfo(FILEINFO_MIME_TYPE);
    
$type $finfo->file($_FILES['img']['tmp_name']);
    if (
in_array($type$arrType) && in_array($ext$arrExt)){
        
// 2. Генерирование уникального имени и пути файла
        
$filepath $dir.uniqid().'.'.$ext;
        if(
move_uploaded_file($_FILES['img']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].$filepath)){
            
// Если файл загружен, то можем вывести его на экран
            
echo '<img src="'.$filepath.'" alt="">';            
        } else {
            echo 
'Хьюстон! У нас проблемы!';
        }
    }
}
    
          if (isset(
$title) && isset($pod_id) && isset($cat_id))
           {
            
/* Здесь пишем что можно заносить информацию в базу */
            
$result mysql_query ("INSERT INTO date (cat_id,pod_id,title,text,img,city,street,phone,mail,razdel,date) VALUES ('$cat_id','$pod_id','$title','$text','$img','$city','$street','$phone','$mail','$razdel','$date')");
            if (
$result == 'true') {echo "<p>Ваша услугу на обработке администрации сайта.</p>";}
            else {echo 
"<p>Ваша услуга не добалена!</p>";}
}         
else 
{
echo 
"<p>Вы ввели не всю информацию, поэтому услуга в базу не может быть добалена.</p>";
}
        
?>
вроде все правельно, но файл не загружается.

подскажите люди добрые
kuzmich вне форума Ответить с цитированием
Старый 20.02.2017, 13:58   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Как найти ошибку в своем коде?
Для формы нужно указать enctype="multipart/form-data".

Последний раз редактировалось Andkorol; 20.02.2017 в 14:00.
Andkorol вне форума Ответить с цитированием
Старый 20.02.2017, 14:05   #3
kuzmich
Форумчанин
 
Аватар для kuzmich
 
Регистрация: 05.05.2007
Сообщений: 236
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Как найти ошибку в своем коде?
Для формы нужно указать enctype="multipart/form-data".
сделал и теперь выходит ошибка Fatal error: Class 'finfo' not found in Z:\home\uslugi\www\add_service.php on line 49

Код:
<?php 
 
if(isset($_FILES['img']) && $_FILES['img']['error'] == 0){
    // Директория для закачивания
    $dir = '/images/'; 
    // Допустимые MIME-типы
    $arrType = array('image/jpeg','image/gif','image/png',);
    // Допустимые расширения
    $arrExt = array('png', 'jpg', 'jpeg', 'gif');
    // Получаем расширение файла
    $ext = pathinfo($_FILES['img']['name'], PATHINFO_EXTENSION);
    // 1. Проверка MIME-тип файла и расширение
    $finfo = new finfo(FILEINFO_MIME_TYPE); - вот эта строка
    $type = $finfo->file($_FILES['img']['tmp_name']);
    if (in_array($type, $arrType) && in_array($ext, $arrExt)){
        // 2. Генерирование уникального имени и пути файла
        $filepath = $dir.uniqid().'.'.$ext;
        if(move_uploaded_file($_FILES['img']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].$filepath)){
            // Если файл загружен, то можем вывести его на экран
            echo '<img src="'.$filepath.'" alt="">';            
        } else {
            echo 'Хьюстон! У нас проблемы!';
        }
    }
}
    
          if (isset($title) && isset($pod_id) && isset($cat_id))
           {
            /* Здесь пишем что можно заносить информацию в базу */
            $result = mysql_query ("INSERT INTO date (cat_id,pod_id,title,text,img,city,street,phone,mail,razdel,date) VALUES ('$cat_id','$pod_id','$title','$text','$img','$city','$street','$phone','$mail','$razdel','$date')");
            if ($result == 'true') {echo "<p>Ваша услугу на обработке администрации сайта.</p>";}
            else {echo "<p>Ваша услуга не добалена!</p>";}
}        
else 
{
echo "<p>Вы ввели не всю информацию, поэтому услуга в базу не может быть добалена.</p>";
}
        ?>
kuzmich вне форума Ответить с цитированием
Старый 20.02.2017, 15:48   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Возможно, версия PHP < 5.3:
http://php.net/manual/ru/class.finfo.php

Или не подключено это расширение – в результатах phpinfo(); это расширение должно быть указано примерно так:

Последний раз редактировалось Andkorol; 20.02.2017 в 15:52.
Andkorol вне форума Ответить с цитированием
Старый 25.02.2017, 18:03   #5
KirillKrivoplyasov
Новичок
Джуниор
 
Регистрация: 25.02.2017
Сообщений: 2
По умолчанию

Цитата:
Сообщение от kuzmich Посмотреть сообщение
всем привет!...

не загружается изображения.

форма ввода

PHP код:
<form name="form1" method="post" action="add_service.php">
    <table width="90%" align="center" class="table_categories">
      <tr>
        <td width="10%"><div align="center"><strong>Раздел:</strong></div></td>
        <td width="40%">
         <select size="1" name="cat_id" onchange="javascript:selectRegion();" style="float:left;">
<option value="">Все разделы</option>
<optgroup label="Выберите раздел">
<?php
 $result1 
mysql_query("select * from categories where pod_id='0'",$db);
if (!
$result1)
{
echo 
"<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>";
exit(
mysql_error());
}
if (
mysql_num_rows($result1) > 0){
$myrow1 mysql_fetch_array($result1);
do
{
printf ("<option value='%s'>%s</option>",$myrow1["id"],$myrow1["title"]);
}
while (
$myrow1 mysql_fetch_array($result1));
}
else
{
echo 
"<p>Информация по запросу не может быть извлечина, в таблице нет записей!</p>";
exit();
}
?>
</optgroup>
</select>


        </td>
        <td width="10%"><div align="center"><strong>Рубрика:</strong></div></td>
        <td width="40%">
<div name="selectDataRegion" style="float:left;"></div>
<script type="text/javascript">
function selectRegion(){
        var cat_id = $('select[name="cat_id"]').val();
        if(!cat_id){
                $('div[name="selectDataRegion"]').html('');
        }else{
                $.ajax({
                        type: "POST",
                        url: "include/ajax.base.php",
                        data: { action: 'showRegionForInsert', cat_id: cat_id },
                        cache: false,
                        success: function(responce){ $('div[name="selectDataRegion"]').html(responce); }
                });
        };
};

</script>
        </td>
      </tr>
      <tr>
        <td colspan="4">
<?php
    
if (empty($_SESSION['login']) or empty($_SESSION['id'])) {
    echo 
"Вы не прошли авторизацию!";
    }
    else
    {
    
$result mysql_query("select * from users where id='".$_SESSION['id']."'",$db);
if (!
$result)
{
echo 
"<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>";
exit(
mysql_error());
}
if (
mysql_num_rows($result) > 0){
$myrow mysql_fetch_array($result);
    echo 
"
            <table width='100%%' border='1'>
          <tr>
            <td width='10%%'><strong>Наименование:</strong></td>
            <td width='90%%'><input type='text' name='title' id='title'></td>
          </tr>
          <tr>
            <td valign='top'><strong>Описание:</strong></td>
            <td><textarea name='text' id='text' cols='40' rows='10'></textarea></td>
          </tr>
          <tr>
            <td valign='top'><strong>Изображение:</strong></td>
            <td><input type='file' name='img' id='img'></td>
          </tr>
          <tr>
            <td><strong>Город:</strong></td>
            <td>
<select name='city'>"
?>
<?php
            $result2 
mysql_query("select id, city from city order by city",$db);
if (!
$result2)
{
echo 
"<p>Запрос из выборки базы данных не прошел. Напишите об этом администратору. <em><strong>Код ошибки:</strong></em></p>";
exit(
mysql_error());
}
if (
mysql_num_rows($result2) > 0){
$myrow2 mysql_fetch_array($result2);
do
{
printf ("<option>%s</option>",$myrow2["city"]);
}
while (
$myrow2 mysql_fetch_array($result2));
}
else
{
echo 
"<p>Информация по запросу не может быть извлечина, в таблице нет записей!</p>";
exit();
}
echo 
"</select>           
            </td>
          </tr>
          <tr>
            <td><strong>Улица:</strong> </td>
            <td><input type='text' name='street' id='street'></td>
          </tr>
          <tr>
            <td><strong>Телефон:</strong></td>
            <td><input type='text' name='phone' id='phone' value='"
.$myrow['phone']."'></td>
          </tr>
          <tr>
            <td><strong>E-Mail:</strong></td>
            <td><input type='text' name='mail' id='mail' value='"
.$myrow['mail']."'>";?> <input type='hidden' name='razdel' value='0'> <input type='hidden' name='date' value='<?php $date date("Y-m-d"); echo $date?>'></td>
          </tr>
          <tr>
           <td colspan="2"><div align="center"><input type="submit" name="submit" id="submit" value="Предложить услугу"></div></td>
          </tr>
        </table><?php
}
else
{
echo 
"<p>Информация по запросу не может быть извлечина, в таблице нет записей!</p>";
exit();
}
    }
?>
</td>
      </tr>
    </table>
    </form>
форма сохранения

PHP код:
<?php 

if(isset($_FILES['img']) && $_FILES['img']['error'] == 0){
    
// Директория для закачивания
    
$dir '/images/'
    
// Допустимые MIME-типы
    
$arrType = array('image/jpeg','image/gif','image/png',);
    
// Допустимые расширения
    
$arrExt = array('png''jpg''jpeg''gif');
    
// Получаем расширение файла
    
$ext pathinfo($_FILES['img']['name'], PATHINFO_EXTENSION);
    
// 1. Проверка MIME-тип файла и расширение
    
$finfo = new finfo(FILEINFO_MIME_TYPE);
    
$type $finfo->file($_FILES['img']['tmp_name']);
    if (
in_array($type$arrType) && in_array($ext$arrExt)){
        
// 2. Генерирование уникального имени и пути файла
        
$filepath $dir.uniqid().'.'.$ext;
        if(
move_uploaded_file($_FILES['img']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].$filepath)){
            
// Если файл загружен, то можем вывести его на экран
            
echo '<img src="'.$filepath.'" alt="">';            
        } else {
            echo 
'Хьюстон! У нас проблемы!';
        }
    }
}
    
          if (isset(
$title) && isset($pod_id) && isset($cat_id))
           {
            
/* Здесь пишем что можно заносить информацию в базу */
            
$result mysql_query ("INSERT INTO date (cat_id,pod_id,title,text,img,city,street,phone,mail,razdel,date) VALUES ('$cat_id','$pod_id','$title','$text','$img','$city','$street','$phone','$mail','$razdel','$date')");
            if (
$result == 'true') {echo "<p>Ваша услугу на обработке администрации сайта.</p>";}
            else {echo 
"<p>Ваша услуга не добалена!</p>";}
}         
else 
{
echo 
"<p>Вы ввели не всю информацию, поэтому услуга в базу не может быть добалена.</p>";
}
        
?>
вроде все правельно, но файл не загружается.

подскажите люди добрые
Привет, ты правильно сделал?, Советую вставить enctype="multipart/form-data".
KirillKrivoplyasov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка изображения на сервер по ссылке ogamilait ASP.NET 1 09.12.2014 01:11
Загрузка изображения LomoCoder Общие вопросы Delphi 7 14.08.2013 17:33
Загрузка изображения Volkogriz Мультимедиа в Delphi 7 28.09.2012 05:17
Загрузка изображения из БД {Shadowevil} БД в Delphi 12 21.08.2012 09:30
Загрузка изображения iiunbreakableii Общие вопросы Delphi 1 13.02.2011 20:30