Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: session_save_path()

 PHP.SU

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


 Страниц (2): [1] 2 »   

> Описание: Объясните суть метода session_path() или пример хотя бы покажите.
KuPbI4
Отправлено: 08 Августа, 2011 - 15:13:14
Post Id


Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




В чем заключается этот метод session_save_path()?
У меня поставлена такая задача - Выбрал файл №1 для загрузки, нажал на кнопку Добавить, запрашивает выбрать файл №2 для загрузки и кнопка ок, и пропадает выбор файла №1 для загрузки. Как сделать, чтоб файл №1 для загрузки запомнился, чтоб заново не выбирать? Этим методом session_save_path() ? Если да, то покажите пример...
 
 Top
EuGen Администратор
Отправлено: 08 Августа, 2011 - 15:46:25
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Задает каталог, куда php будет сохранять временные файлы, необходимые для хранения текущих сессий.
А что значит "запомнить файл для загрузки" - вопрос открытый.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
KuPbI4
Отправлено: 08 Августа, 2011 - 15:47:48
Post Id


Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




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

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

Это значит запомнить как метод $_SESSION

(Отредактировано автором: 08 Августа, 2011 - 15:51:47)

 
 Top
EuGen Администратор
Отправлено: 08 Августа, 2011 - 15:58:27
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




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);
?>


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
KuPbI4
Отправлено: 09 Августа, 2011 - 01:15:29
Post Id


Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




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, для хранения текущих сессий.., чтоб потом спокойно загрузить файлы на сервер..
Подскажите советом...
 
 Top
EuGen Администратор
Отправлено: 09 Августа, 2011 - 08:57:57
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Разъясните, каким образом загрузка файлов и их хранение относится к сессиям и их хранению


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
KuPbI4
Отправлено: 09 Августа, 2011 - 10:28:01
Post Id


Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




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

Чтобы пользователь выбрал первый файл загрузки и нажал на кнопку добавить, и система выдает и просит добавить второй файл загрузки и жмет ОК, и видим, что выбор первого файла для загрузки изображения сбросилось и ему приходиться заново это делать, так понятно?
 
 Top
SAD
Отправлено: 09 Августа, 2011 - 10:42:52
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




мда... нет слов... вы наверное не поняли, что вам сказали
 
 Top
KuPbI4
Отправлено: 09 Августа, 2011 - 11:17:46
Post Id


Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




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

Если раз вы это поняли, то объясните поконкретнее, и видно, что потихоньку изучаю и все приходит с опытом, спасибо за понимание и за внимание
 
 Top
SAD
Отправлено: 09 Августа, 2011 - 11:24:53
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




Опишите подробней задачу. Сессии тут вообще не причем!.
 
 Top
illy
Отправлено: 09 Августа, 2011 - 11:34:10
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




Я так понял:
загрузил первый файл, форма очистилась и пишет загрузи второй файл(через туже форму) загрузил второй файл форма опять очистилась и пишет загрузи третий файл(через туже форму конечно) загрузил и всё Улыбка
только сессия тут нипричём. Тут аякс нужен.
Или сессии нужны чтобы понять кто загрузил файлы и какие файлы и путь к ним? Закатив глазки

(Отредактировано автором: 09 Августа, 2011 - 11:36:46)



-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
SAD
Отправлено: 09 Августа, 2011 - 11:37:04
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




короче делаете так, когда выбрали файл, по событию 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>
 
 Top
KuPbI4
Отправлено: 09 Августа, 2011 - 12:23:22
Post Id


Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




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 = '';

И я хотел увидеть этот результат, когда выбрали файл для загрузки, появляется выбор загрузки второго файла и т.д.
НО! Проблема остается, когда пользователь случайно нажмет на добавить,если даже он не выбрал второй файл для загрузки и третий, пропадает выбранный первый файл для загрузки.

(Отредактировано автором: 09 Августа, 2011 - 12:28:34)

 
 Top
SAD
Отправлено: 09 Августа, 2011 - 12:58:04
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




блин, пропадает, так как вы форму отправили.
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>
 
 Top
KuPbI4
Отправлено: 09 Августа, 2011 - 13:20:26
Post Id


Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




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>

Спасибо конечно за подсказки, но диалоговое окно уже не высвечивается о добавлении второго файла загрузки, т.к. заметил разницу между и
Если , то будет показывать диалоговое окно о просьбе добавления второго файла для загрузки, но пропадает первый выбранный файл для загрузки.
Если , то не будет показывать диалоговое окно о просьбе добавления второго файла для загрузки, но не пропадает первый выбранный файл для загрузки., нажав на кнопку Добавить и ничего не реагирует.

(Отредактировано автором: 09 Августа, 2011 - 13:22:08)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB