За последние 24 часа нас посетили 17553 программиста и 1713 роботов. Сейчас ищет 1831 программист ...

Как ввести путь в бд нескольких файлов

Тема в разделе "PHP для новичков", создана пользователем streamland, 11 май 2012.

  1. jenya777777

    jenya777777 Активный пользователь

    С нами с:
    16 мар 2010
    Сообщения:
    562
    Симпатии:
    0
    Твой SELECT пиши без кавычек
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
     
  3. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
    jenya777777 and Ganzal

    Тогда ничего не добавляет т е никакая запись не появляется
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    подзапрос-то в скобках?))))
     
  5. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
    вроде бы делал и так и в этом случае никакой реакции
    т е имееш ввиду так?
    $sql = "Insert into image_add_text (user_id,big,small) VALUES ( (SELECT id_add_text FROM add_new_text WHERE date=NOW() ORDER BY id_add_text,date DESC LIMIT 1),'$filename','$filename1')";

    Добавлено спустя 19 секунд:
    ща ещё раз проверю
     
  6. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
  7. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
    LAST_INSERT_ID() не прокатывает делает кашу малашу!!!

    276 275 2 images/1363078253.jpg images/small_1363078253.jpg
    275 274 2 images/1363078252.jpg images/small_1363078252.jpg
    274 214 2 images/1363078250.jpg images/small_1363078250.jpg
     
  8. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
    Сделал изменения в коде и заработало как надо.

    Код (Text):
    1. $sql = mysql_query("SELECT id_add_car,model,date FROM add_new_car");  
    2. $maxrowid = mysql_fetch_array($sql);
    3. $id_insert = $maxrowid['id_add_car'];  
    4. echo "<br /><br /><h2><b>".$id_insert."</b></h2><br /><br />";
    5.  
    6. $sql ="Insert into image_add_car (user_id,ap_id,big,small) VALUES ('$id_insert','2','$filename','$filename1')";
    424---308---images/1363209424.jpg
    423---308---images/1363209421.jpg
    422---308---images/1363209418.jpg
    421---308---images/1363209416.jpg

    Тока вот правильно ли он будет работать если одновременно несколько человек будут вводить данные

    Ниже код аплоуда в котором сделаны изменения рабочий вариант.

    Код (Text):
    1. <?php
    2. include("conf.php");
    3. error_reporting(0);
    4.  
    5.  
    6.  
    7.  
    8.  define ("MAX_SIZE","400");
    9.  function getExtension($str) {
    10.          $i = strrpos($str,".");
    11.          if (!$i) { return ""; }
    12.          $l = strlen($str) - $i;
    13.          $ext = substr($str,$i+1,$l);
    14.          return $ext;
    15.  }
    16.  
    17.  $errors=0;
    18.  
    19.  // Создайте базу
    20.     //      исплозуйте свои настройки имя пользователя , пароль
    21.     //      $connection является сылкой на соединение
    22.  
    23.  
    24.     $slike = array(file, file1, file2, file3, file4,file5,file6,file7);// Добавте переменные в зависимость от количества добавляемых имеджей
    25.   if($_SERVER["REQUEST_METHOD"] == "POST")
    26.  {
    27.  
    28.     $filearray = array();
    29.     $filearray1 = array();
    30.     $k=0;
    31.    
    32.   foreach($slike as $slika){
    33.     $image =$_FILES[$slika]["name"];
    34.     $uploadedfile = $_FILES[$slika]['tmp_name'];
    35.     if ($image)
    36.     {
    37.    
    38.         $filename = stripslashes($_FILES[$slika]['name']);
    39.    
    40.         $extension = getExtension($filename);
    41.         $extension = strtolower($extension);
    42.        
    43.        
    44.  if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
    45.         {
    46.        
    47.             $change='<div class="msgdiv">Unknown Image extension </div> ';
    48.             $errors=1;
    49.         }
    50.         else
    51.         {
    52.  
    53.  $size=filesize($_FILES[$slika]['tmp_name']);
    54.  
    55.  
    56. if ($size > MAX_SIZE*1024) // макс размер имеджа
    57. {
    58.     $change='<div class="msgdiv">You have exceeded the size limit!</div> ';
    59.     $errors=1;
    60. }
    61.  
    62.  
    63. if($extension=="jpg" || $extension=="jpeg" )
    64. {
    65. $uploadedfile = $_FILES[$slika]['tmp_name'];
    66. $src = imagecreatefromjpeg($uploadedfile);
    67.  
    68. }
    69. else if($extension=="png")
    70. {
    71. $uploadedfile = $_FILES[$slika]['tmp_name'];
    72. $src = imagecreatefrompng($uploadedfile);
    73.  
    74. }
    75. else
    76. {
    77. $src = imagecreatefromgif($uploadedfile);
    78. }
    79.  
    80. echo $scr;
    81.  
    82. list($width,$height)=getimagesize($uploadedfile);
    83.  
    84.  
    85. $newwidth=600; // новая ширина
    86. $newheight=($height/$width)*$newwidth;
    87. $tmp=imagecreatetruecolor($newwidth,$newheight);
    88.  
    89.  
    90. $newwidth1=60; // новая ширина миниатюры(thumb)
    91. $newheight1=($height/$width)*$newwidth1;
    92. $tmp1=imagecreatetruecolor($newwidth1,$newheight1);
    93.  
    94. imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
    95.  
    96. imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1,$width,$height);
    97.  
    98.  
    99. $image_name=(time()+$k).'.'.$extension;
    100.  
    101.  
    102. $filename = "images/". $image_name;
    103.  
    104. $filename1 = "images/small_". $image_name;
    105.  
    106. imagejpeg($tmp,$filename,100);
    107.  
    108. imagejpeg($tmp1,$filename1,100);
    109.  
    110. $filearray[$k]= $filename;
    111. $filearray1[$k]= $filename1;
    112. $k++;
    113.  
    114.  
    115.  
    116. $sql = mysql_query("SELECT id_add_car,model,date FROM add_new_car");  
    117. $maxrowid = mysql_fetch_array($sql);
    118. $id_insert = $maxrowid['id_add_car'];  
    119. echo "<br /><br /><h2><b>".$id_insert."</b></h2><br /><br />";
    120.  
    121. $sql ="Insert into image_add_car (user_id,ap_id,big,small) VALUES ('$id_insert','2','$filename','$filename1')";
    122.  
    123.  
    124.  
    125.  
    126.     mysql_query($sql) or die(mysql_error());
    127.  
    128.    
    129.    
    130.    
    131. imagedestroy($src);
    132. imagedestroy($tmp);
    133. imagedestroy($tmp1);
    134. }}
    135. }
    136. }
    137.  
    138. //If no errors registred, print the success message
    139.  if(isset($_POST['Submit']) && !$errors)
    140.  {
    141.     $change=' <div class="msgdiv">Image Uploaded Successfully!</div>';
    142.  }
    143.  
    144.  
    145. ?>
     
  9. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а вы в теории какой вариант развития событий видите при параллельном исполнении? что опасение вызывает?
     
  10. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
    не будут ли мешатся картинки одного юзера с картинками другого
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    где вы такой год вычитали? ужас просто. в целом ужас. логику поясните?
     
  12. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
    Ну ужас не ужас Вам профессионалам видней просто хотелось уточнить как правильно все наладить. Т е нужно ли делать ещё какие то сравнения по полям.
     
  13. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    логику работы скрипта опишите. на какие действия пользователя и как отвечает данный сценарий?
     
  14. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
    Нашел ответ Спасибо за отклик!
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  16. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
    ну там ведь дается каждому имеджу уникальное имя
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    если дается, значит не будут. Зачем спрашивал? :D
     
  18. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
    Вопрос возник из тог что когда юзеры буду вводить данные возможно ли что в потоке при паралельной добавке имеджей айдишник одного будет вписываться в поле другого юзера

    Это в идеале
    425---308---images/1363209425.jpg
    424---308---images/1363209424.jpg
    423---308---images/1363209421.jpg
    422---308---images/1363209418.jpg
    421---308---images/1363209416.jpg
    Возможен ли косяк если одновременно несколько пользователей добавят по несколько имеджей
    Т е может ли айдишка одног польз. в ряд имеджей другого польз.( т е при выводе картинки одного появятся картинки другого)
    425---308---images/1363209425.jpg
    424---308---images/1363209424.jpg
    423---308---images/1363209421.jpg
    422---308---images/1363209418.jpg
    421---308---images/1363209416.jpg
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    хз =) это ж надо код смотреть. вот ты глять и скажи.
     
  20. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
    Вопрос возник из того что когда юзеры будут вводить данные возможно ли что в потоке при паралельной добавке имеджей айдишник одного будет вписываться в поле другого юзера

    Это в идеале
    425---308---images/1363209425.jpg
    424---308---images/1363209424.jpg
    423---308---images/1363209421.jpg
    422---308---images/1363209418.jpg
    421---308---images/1363209416.jpg
    Возможен ли косяк если одновременно несколько пользователей добавят по несколько имеджей
    Т е может ли айдишка одног польз. в ряд имеджей другого польз.( т е при выводе картинки одного появятся картинки другого)
    425---308---images/1363209425.jpg
    424---309---images/1363209424.jpg
    423---309---images/1363209421.jpg
    422---308---images/1363209418.jpg
    421---308---images/1363209416.jpg
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а где код который это делает?
    в топике много разных кусков. искать лень.
     
  22. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
    Спасибо за отклик igordata

    Код (Text):
    1. <?php
    2. include("conf.php");
    3. error_reporting(0);
    4.  
    5.  
    6.  
    7.  
    8.  define ("MAX_SIZE","400");
    9.  function getExtension($str) {
    10.          $i = strrpos($str,".");
    11.          if (!$i) { return ""; }
    12.          $l = strlen($str) - $i;
    13.          $ext = substr($str,$i+1,$l);
    14.          return $ext;
    15.  }
    16.  
    17.  $errors=0;
    18.  
    19.  // Создайте базу
    20.    //      исплозуйте свои настройки имя пользователя , пароль
    21.    //      $connection является сылкой на соединение
    22.  
    23.  
    24.    $slike = array(file, file1, file2, file3, file4,file5,file6,file7);// Добавте переменные в зависимость от количества добавляемых имеджей
    25.   if($_SERVER["REQUEST_METHOD"] == "POST")
    26.  {
    27.  
    28.    $filearray = array();
    29.    $filearray1 = array();
    30.    $k=0;
    31.    
    32.   foreach($slike as $slika){
    33.    $image =$_FILES[$slika]["name"];
    34.    $uploadedfile = $_FILES[$slika]['tmp_name'];
    35.     if ($image)
    36.     {
    37.    
    38.        $filename = stripslashes($_FILES[$slika]['name']);
    39.    
    40.         $extension = getExtension($filename);
    41.        $extension = strtolower($extension);
    42.      
    43.      
    44.  if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
    45.        {
    46.      
    47.           $change='<div class="msgdiv">Unknown Image extension </div> ';
    48.           $errors=1;
    49.        }
    50.        else
    51.        {
    52.  
    53.  $size=filesize($_FILES[$slika]['tmp_name']);
    54.  
    55.  
    56. if ($size > MAX_SIZE*1024) // макс размер имеджа
    57. {
    58.    $change='<div class="msgdiv">You have exceeded the size limit!</div> ';
    59.    $errors=1;
    60. }
    61.  
    62.  
    63. if($extension=="jpg" || $extension=="jpeg" )
    64. {
    65. $uploadedfile = $_FILES[$slika]['tmp_name'];
    66. $src = imagecreatefromjpeg($uploadedfile);
    67.  
    68. }
    69. else if($extension=="png")
    70. {
    71. $uploadedfile = $_FILES[$slika]['tmp_name'];
    72. $src = imagecreatefrompng($uploadedfile);
    73.  
    74. }
    75. else
    76. {
    77. $src = imagecreatefromgif($uploadedfile);
    78. }
    79.  
    80. echo $scr;
    81.  
    82. list($width,$height)=getimagesize($uploadedfile);
    83.  
    84.  
    85. $newwidth=600; // новая ширина
    86. $newheight=($height/$width)*$newwidth;
    87. $tmp=imagecreatetruecolor($newwidth,$newheight);
    88.  
    89.  
    90. $newwidth1=60; // новая ширина миниатюры(thumb)
    91. $newheight1=($height/$width)*$newwidth1;
    92. $tmp1=imagecreatetruecolor($newwidth1,$newheight1);
    93.  
    94. imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
    95.  
    96. imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1,$width,$height);
    97.  
    98.  
    99. $image_name=(time()+$k).'.'.$extension;
    100.  
    101.  
    102. $filename = "images/". $image_name;
    103.  
    104. $filename1 = "images/small_". $image_name;
    105.  
    106. imagejpeg($tmp,$filename,100);
    107.  
    108. imagejpeg($tmp1,$filename1,100);
    109.  
    110. $filearray[$k]= $filename;
    111. $filearray1[$k]= $filename1;
    112. $k++;
    113.  
    114.  
    115.  
    116. $sql = mysql_query("SELECT id_add_car,model,date FROM add_new_car");  
    117. $maxrowid = mysql_fetch_array($sql);
    118. $id_insert = $maxrowid['id_add_car'];  
    119. echo "<br /><br /><h2><b>".$id_insert."</b></h2><br /><br />";
    120.  
    121. $sql ="Insert into image_add_car (user_id,ap_id,big,small) VALUES ('$id_insert','2','$filename','$filename1')";
    122.  
    123.  
    124.  
    125.  
    126.    mysql_query($sql) or die(mysql_error());
    127.  
    128.    
    129.    
    130.    
    131. imagedestroy($src);
    132. imagedestroy($tmp);
    133. imagedestroy($tmp1);
    134. }}
    135. }
    136. }
    137.  
    138. //If no errors registred, print the success message
    139.  if(isset($_POST['Submit']) && !$errors)
    140.  {
    141.      $change=' <div class="msgdiv">Image Uploaded Successfully!</div>';
    142.  }
    143.  
    144.  
    145. ?>
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    $slike = array(file, file1, file2, file3, file4, file5, file6, file7); // Добавте переменные в зависимость от количества добавляемых имеджей
    кавычки забыл

    Добавлено спустя 4 минуты 45 секунд:
    могут быть накладки, да.

    замени строку
    $image_name = (time() + $k) . '.' . $extension;
    на
    $image_name = (uniqid() . '-' . $k) . '.' . $extension;
    и всё, вопрос решен
     
  24. streamland

    streamland Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    79
    Симпатии:
    0
    Ok на счёт имен я понял! Спасибо за юник.

    А вот на счёт айдишки может ли при паралельной добавке id_txt одного посетителя случайно залететь к другому( т е при выводе картинки одного попадутся также некоторые картинки другого)
    id_im------id_txt
    425---------308----------images/1363209425.jpg
    424---------308----------images/1363209424.jpg
    423---------308----------images/1363209421.jpg
    422---------308----------images/1363209418.jpg
    421---------308----------images/1363209416.jpg
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а в этом коде я разделения на юзеров не увидел. там все валится в две папки.