PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (12): « 1 2 3 4 [5] 6 7 8 9 ... » В конец

> Найдено сообщений: 171
KuPbI4 Отправлено: 09 Августа, 2011 - 13:47:21 • Тема: session_save_path() • Форум: HTTP и PHP

Ответов: 19
Просмотров: 5964
SAD пишет:
CODE (javascript):
скопировать код в буфер обмена
  1. function hideDiv(input, num1, num2) {
  2.     if (input.value) {
  3.         alert('Выберите, пожалуйста, следующее изображение для загрузки');
  4.         document.getElementById('img'+num2).style.display = '';
  5.     } else
  6.         return false;
  7. }


такого будет достаточно

Спасибо за подсказки еще раз. Но я JavaScript мало знаком, так что простите меня, что я Вам вынес мозг.
KuPbI4 Отправлено: 09 Августа, 2011 - 13:35:05 • Тема: session_save_path() • Форум: HTTP и PHP

Ответов: 19
Просмотров: 5964
SAD пишет:

вы выноситель мозга

Спасибо за Ваше мнение, что я выноситель мозга.
SAD пишет:

вы выкладываете то, что хотите частями. зачем вам такой способ в принципе нужен??
зачем какие то еще диаголи??

1. Способ нужен тупым пользователям, чтоб понимали.
2. Для того, чтобы пользователи прочитали диалоговое окно и выбрали второй файл загрузки.
KuPbI4 Отправлено: 09 Августа, 2011 - 13:20:26 • Тема: session_save_path() • Форум: HTTP и PHP

Ответов: 19
Просмотров: 5964
SAD пишет:
блин, пропадает, так как вы форму отправили.
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <script>
  3. function hideDiv(input, num1, num2) {
  4.     if (input.value) {
  5.         document.getElementById('img'+num2).style.display = '';
  6.     } else
  7.         return false;
  8. }
  9. function AddImg() {
  10.     var inputs = document.getElementById('form').getElementsByTagName('input');
  11.     var count = 0;
  12.     for (var i = 0; i < inputs.length; i++)
  13.        if (inputs[i].type == 'file' && inputs[i].value)
  14.            count++;
  15.    if (count == 3)
  16.        document.getElementById('form').submit();
  17. }
  18. </script>
  19. <form id="form" action="add.php" method="post" ENCTYPE="multipart/form-data">
  20.     <div id="img1">Файл изображения №1: <input type="file" name="file[]" onchange="hideDiv(this, 1, 2);"></div>
  21.     <div id="img2" style="display: none;">Файл изображения №2: <input type="file" name="file[]" onchange="hideDiv(this, 2, 3);"></div>
  22.     <div id="img3" style="display: none;">Файл изображения №3: <input type="file" name="file[]"></div>
  23.     <input type="button" value="Добавить" name="add" onclick="AddImg();"/>&nbsp;<input type="reset" value="Очистить"/><br>
  24. </form>

Спасибо конечно за подсказки, но диалоговое окно уже не высвечивается о добавлении второго файла загрузки, т.к. заметил разницу между и
Если , то будет показывать диалоговое окно о просьбе добавления второго файла для загрузки, но пропадает первый выбранный файл для загрузки.
Если , то не будет показывать диалоговое окно о просьбе добавления второго файла для загрузки, но не пропадает первый выбранный файл для загрузки., нажав на кнопку Добавить и ничего не реагирует.
KuPbI4 Отправлено: 09 Августа, 2011 - 12:23:22 • Тема: session_save_path() • Форум: HTTP и PHP

Ответов: 19
Просмотров: 5964
SAD пишет:
короче делаете так, когда выбрали файл, по событию onchange на input делаете текущее поле формы скрытым, и добавляете еще одно поле input
(Добавление)
CODE (html):
скопировать код в буфер обмена
  1. <script>
  2. function hideDiv(input, num1, num2) {
  3.     if (input.value) {
  4.         document.getElementById('img'+num1).style.display = 'none';
  5.         document.getElementById('img'+num2).style.display = '';
  6.     } else
  7.         return false;
  8. }
  9. </script>
  10. <form action="add.php" method="post" ENCTYPE="multipart/form-data">
  11.     <div id="img1">Файл изображения №1: <input type="file" name="file[]" onchange="hideDiv(this, 1, 2);"></div>
  12.     <div id="img2" style="display: none;">Файл изображения №2: <input type="file" name="file[]" onchange="hideDiv(this, 2, 3);"></div>
  13.     <div id="img3" style="display: none;">Файл изображения №3: <input type="file" name="file[]"></div>
  14.     <input type="submit" value="Добавить" name="add"/>&nbsp;<input type="reset" value="Очистить"/><br>
  15. </form>

Спасибо, потестировал работает, но поменял кое-что в скрипте
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.   document.getElementById('img'+num1).style.display = 'none';
  3.  

на
CODE (javascript):
скопировать код в буфер обмена
  1. document.getElementById('img'+num1).style.display = '';

И я хотел увидеть этот результат, когда выбрали файл для загрузки, появляется выбор загрузки второго файла и т.д.
НО! Проблема остается, когда пользователь случайно нажмет на добавить,если даже он не выбрал второй файл для загрузки и третий, пропадает выбранный первый файл для загрузки.
KuPbI4 Отправлено: 09 Августа, 2011 - 11:17:46 • Тема: session_save_path() • Форум: HTTP и PHP

Ответов: 19
Просмотров: 5964
SAD пишет:
мда... нет слов... вы наверное не поняли, что вам сказали

Если раз вы это поняли, то объясните поконкретнее, и видно, что потихоньку изучаю и все приходит с опытом, спасибо за понимание и за внимание
KuPbI4 Отправлено: 09 Августа, 2011 - 10:28:01 • Тема: session_save_path() • Форум: HTTP и PHP

Ответов: 19
Просмотров: 5964
EuGen пишет:
Разъясните, каким образом загрузка файлов и их хранение относится к сессиям и их хранению

Чтобы пользователь выбрал первый файл загрузки и нажал на кнопку добавить, и система выдает и просит добавить второй файл загрузки и жмет ОК, и видим, что выбор первого файла для загрузки изображения сбросилось и ему приходиться заново это делать, так понятно?
KuPbI4 Отправлено: 09 Августа, 2011 - 01:15:29 • Тема: session_save_path() • Форум: HTTP и PHP

Ответов: 19
Просмотров: 5964
EuGen пишет:
http://www.php.net/manual/en/function.session-save-path.php пишет:
<?php
session_save_path('/home/example.com/sessions');
ini_set('session.gc_probability', 1);
?>

в форме добавления загрузки выглядит так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. include ("mysql.php");
  4. session_save_path('/home/имя_проекта/sessions');
  5. ini_set('session.gc_probability', 1);
  6. ?>
  7.  

Сама форма:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form action="add.php" method="post" ENCTYPE="multipart/form-data">
  3.           Файл изображения №1: <input type="file" name="file[]" value="<? echo $_SESSION['img1'];?>"><br>
  4.           Файл изображения №2: <input type="file" name="file[]"><br>
  5.           Файл изображения №3: <input type="file" name="file[]"><br>
  6.          <input type="submit" value="Добавить" name="add"/>&nbsp;<input type="reset" value="Очистить"/><br>
  7.     </form>
  8.  

Сам скрипт добавления в БД.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. include ("mysql.php");
  4.  
  5. $img1 = strip_tags(stripslashes(substr($_POST['img1'],0,255)));
  6. $img2 = strip_tags(stripslashes(substr($_POST['img2'],0,255)));
  7. $img3 = strip_tags(stripslashes(substr($_POST['img3'],0,255)));
  8.  
  9. $_SESSION['img1'] = $img1;
  10. $_SESSION['img2'] = $img2;
  11. $_SESSION['img3'] = $img3;
  12.  
  13.         if(strlen(trim($_FILES['file']['name'][0])) > 0) {
  14.                                                                         if(strlen(trim($_FILES['file']['name'][1])) > 0) {
  15.                                                                                 if(strlen(trim($_FILES['file']['name'][2])) > 0) {
  16.  
  17.                                        
  18.                                                                 foreach($_FILES['file']['name'] as $k=>$f) {
  19.                                                                         if (!$_FILES['file']['error'][$k]) {
  20.                                                                                 if (is_uploaded_file($_FILES['file']['tmp_name'][$k])) {
  21.                                                                                         if (move_uploaded_file($_FILES['file']['tmp_name'][$k], "../img/cars/".$_FILES['file']['name'][$k])) {
  22.                                                                                                 echo 'Файл: '.$_FILES['file']['name'][$k].' загружен!';
  23.                                                                                                         if (Img_Resize("../img/cars/".$_FILES['file']['name'][$k], "../img/cars/".$_FILES['file']['name'][$k], 600, 600)) {
  24.                                                                                                                 echo "Файл".$_FILES['file']['name'][$k]."изменен!";
  25.                                                                                                         }
  26.                                                                                         }
  27.                                                                                 }
  28.                                                                         }
  29.                                                                 }
  30.                                                                 $img1=$_FILES['file']['name'][0];
  31.                                                                 $img2=$_FILES['file']['name'][1];
  32.                                                                 $img3=$_FILES['file']['name'][2];
  33. $query="INSERT INTO cars (  img1, img2, img3 ) VALUES ('$img1', '$img2', '$img3')";
  34.                                         if (mysql_query($query)) { ;
  35.                                         unset($_SESSION['img1']);
  36.                                         unset($_SESSION['img2']);
  37.                                         unset($_SESSION['img3']);
  38.                                         header("Location: ./index.php");
  39.                                         }
  40.                                         else {
  41.                                         header("Location: ./add_form.php");
  42.                                         }
  43.                                         }
  44.                                 else { echo "<script language='JavaScript'>window.alert('Выберите файл изображения №3 для загрузки');
  45.                 location.href='add_form.php'</script>";}}
  46.                                 else { echo "<script language='JavaScript'>window.alert('Выберите файл изображения №2 для загрузки');
  47.                 location.href='add_form.php'</script>";}}
  48.                                 else { echo "<script language='JavaScript'>window.alert('Выберите файл изображения №1 для загрузки');
  49.                 location.href='add_form.php'</script>";}}              
  50.  

Выбираю файл №1 для загрузки, потом жму добавить, и просит добавить файл №2 для изображения, и не запомнил путь к временному файлу №1, для хранения текущих сессий.., а хотелось, чтоб запомнил путь к временному файлу №1, для хранения текущих сессий.., чтоб потом спокойно загрузить файлы на сервер..
Подскажите советом...
KuPbI4 Отправлено: 08 Августа, 2011 - 15:47:48 • Тема: session_save_path() • Форум: HTTP и PHP

Ответов: 19
Просмотров: 5964
EuGen пишет:
Задает каталог, куда php будет сохранять временные файлы, необходимые для хранения текущих сессий.

А пример можете показать?!
EuGen пишет:
А что значит "запомнить файл для загрузки" - вопрос открытый.

Это значит запомнить как метод $_SESSION
KuPbI4 Отправлено: 08 Августа, 2011 - 15:13:14 • Тема: session_save_path() • Форум: HTTP и PHP

Ответов: 19
Просмотров: 5964
В чем заключается этот метод session_save_path()?
У меня поставлена такая задача - Выбрал файл №1 для загрузки, нажал на кнопку Добавить, запрашивает выбрать файл №2 для загрузки и кнопка ок, и пропадает выбор файла №1 для загрузки. Как сделать, чтоб файл №1 для загрузки запомнился, чтоб заново не выбирать? Этим методом session_save_path() ? Если да, то покажите пример...
KuPbI4 Отправлено: 05 Августа, 2011 - 21:39:43 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP

Ответов: 44
Просмотров: 28342
tsoi85
Спасибо за подсказки Улыбка
KuPbI4 Отправлено: 05 Августа, 2011 - 20:33:11 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP

Ответов: 44
Просмотров: 28342
tsoi85 пишет:

PHP:
скопировать код в буфер обмена
  1. # $src - Исходное изображение (.gif, .png, .jpg, .jpeg)
  2. # $dest - Сохраняемое изображение (.jpg)
  3. # $sidepx - Размер
  4. # $quality - Качество
  5.  
  6. function Img_Resize($src, $dest, $sidepx, $quality=90) {
  7.     if (!file_exists($src)) return false;
  8.     $size = getimagesize($src);
  9.     if ($size === false) return false;
  10.     $format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
  11.     $icfunc = "imagecreatefrom".$format;
  12.     if (!function_exists($icfunc)) return false;
  13.     $isrc = $icfunc($src);
  14.     $img['r_foto'] = (($size[0]>$size[1])?$size[0]/$sidepx:$size[1]/$sidepx);
  15.     $img['sizex'] = round($size[0]/$img['r_foto']);
  16.     $img['sizey'] = round($size[1]/$img['r_foto']);
  17.     $idest = imagecreatetruecolor($img['sizex'], $img['sizey']);
  18.     imagecopyresampled($idest, $isrc, 0, 0, 0, 0, $img['sizex'], $img['sizey'], $size[0], $size[1]);
  19.     imagejpeg($idest, $dest, $quality);
  20.     imagedestroy($isrc);
  21.     imagedestroy($idest);
  22.     return true;
  23. }
  24. if (Img_Resize('./old.png', './uplfile/NEW.jpg', 400, 100)) {
  25.     echo 'resize';
  26. }
  27. else {
  28.     echo 'no resize';
  29. }

Хочу спросить в самом конце вызова самой функции
PHP:
скопировать код в буфер обмена
  1.  img_resize(исходный_файл, новый_файл, размеры)) {
  2. echo 'изменен'}
  3. else { echo 'не изменен'}

Вот я добавляю информацию, и одновременно загружаю изображение, и само изображение должно сжать и добавить в БД имя файла сжатого изображения
Как сделать, чтоб любой файл изображения удачно сжал и загрузился?!
Так?
PHP:
скопировать код в буфер обмена
  1.  
  2. if (Img_Resize($_FILES['file']['name'][$k].'.jpg', $_FILES['file']['name'][$k].'_.jpg', 400, 100)) {
  3.     echo 'resize';
  4. }
  5. else {
  6.     echo 'no resize';
  7. }
KuPbI4 Отправлено: 05 Августа, 2011 - 19:30:51 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP

Ответов: 44
Просмотров: 28342
tsoi85 пишет:

foreach - Специальный цикл перебора массивов
$k - В данном случае ключ файла
$f - Значение массива
http://www.php.su/learnphp/cs/?cycles#foreach

PHP:
скопировать код в буфер обмена
  1.  
  2. скопировать код в буфер обмена
  3. foreach($_FILES['file']['name'] as $k=>$f) {
  4.   if (!$_FILES['file']['error'][$k]) {
  5.     if (is_uploaded_file($_FILES['file']['tmp_name'][$k])) {
  6.       if (move_uploaded_file($_FILES['file']['tmp_name'][$k], "../img/cars/".$_FILES['file']['name'][$k])) {
  7.         echo 'Файл: '.$_FILES['file']['name'][$k].' загружен.<br />';
  8.       }
  9.     }
  10.   }
  11. }
  12. $img1 = $_FILES['file']['name'][0];
  13. $img2 = $_FILES['file']['name'][1];
  14.  


Про foreach помню, теперь понял смысл.
Спасибо, что объяснили, что за переменные. Улыбка
Работает, как нужно.
Один вопрос остался, есть такой скрипт, который позволяет сжать картинку в заданный размер изображения, к примеру 400х400?!
KuPbI4 Отправлено: 05 Августа, 2011 - 19:08:58 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP

Ответов: 44
Просмотров: 28342
tsoi85
у меня к Вам вопрос, зачем тут нужен foreach и откуда переменные $k и $f?
пробовал Ваш код, но файлы загрузились, но не добавились в БД.
KuPbI4 Отправлено: 05 Августа, 2011 - 18:21:05 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP

Ответов: 44
Просмотров: 28342
Кто-нибудь объяснит, как исправить эту проблему?
Читал конечно в php.su инструкцию загрузки нескольких файлов, так и делал, бесполезно, в поиске искал, там решения не нашел
KuPbI4 Отправлено: 04 Августа, 2011 - 22:19:04 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP

Ответов: 44
Просмотров: 28342
Всем здравствуйте!

У меня поставлена задача сделать загрузку нескольких файлов на сервер, но она у меня не очень получается, т.е. с одним файлом загрузки на сервер и добавлением имени файла в БД все хорошо, а с двумя и более - плохо, т.е. не загружается второй файл и не записывается имя файла в БД.
Прилагаю кусочек кода HTML:
CODE (html):
скопировать код в буфер обмена
  1.  
  2.         <form action="add.php" method="post" ENCTYPE="multipart/form-data">
  3.         <label>
  4.           Файл изображения №1: <input type="file" name="file[]"><br>
  5.           Файл изображения №2: <input type="file" name="file[]"><br>
  6.     </label>
  7.         </form>
  8.  

Прилагаю кусочек кода PHP:
PHP:
скопировать код в буфер обмена
  1.  
  2. if(is_uploaded_file($_FILES["file"]["tmp_name"][0])) {
  3.                                                                                 $img1=$file;
  4.                                                                                 $file=$_FILES['file']['name'];
  5.                                                                                 copy($_FILES['file']['tmp_name'][0],"../img/cars/".$_FILES['file']['name']);
  6.                                                                         if(is_uploaded_file($_FILES["file"]["tmp_name"][1])) {
  7.                                                                                 $img2=$file1;
  8.                                                                                 $file1=$_FILES['file1']['name'];
  9.                                                                                 copy($_FILES['file']['tmp_name'][1],"../img/cars/".$_FILES['file1']['name']);
  10. //дальше там идет SQL добавление записи в БД
  11. $query="INSERT INTO cars ( model, year, mesto, phone, probeg, kpp, moschnost, money, img1, img2 ) VALUES ('$model', '$year', '$mesto', '$phone', '$probeg', '$kpp', '$moschnost', '$money', '$img1', '$img2')";
  12. }
  13.  

Как эту проблему решить?!

И в добавок, посоветуйте пожалуйста, какие лучшие jquery плагины мульти-загрузочных файлов можно использовать?!

Страниц (12): « 1 2 3 4 [5] 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB