За последние 24 часа нас посетили 20984 программиста и 1107 роботов. Сейчас ищут 417 программистов ...

Сохранение файлов

Тема в разделе "PHP для новичков", создана пользователем Den84, 3 авг 2018.

  1. Den84

    Den84 Новичок

    С нами с:
    3 авг 2018
    Сообщения:
    2
    Симпатии:
    0
    Добрый день! Я профан в PHP! Но появилась задача, где мне необходимо его использовать. Прошу помощи! Как сохранять файлы? Есть код который работает, но для этого необходимо переходить на другую страницу с кодом PHP используя localStorage для сохранения данных JS:
    Код (Javascript):
    1. <script type="text/javascript">
    2. var temp = JSON.parse(localStorage.getItem("tempArr"));
    3. var userName2 = JSON.stringify(temp);
    4. </script>
    PHP:
    1. <?php
    2. $arr;
    3. if (isset($_GET['u_name']))
    4. {
    5.     echo  $_GET['u_name'];
    6.     $arr = $_GET['u_name'];
    7. }
    8.  
    9. else
    10. {
    11.     echo '<script type="text/javascript">';
    12.     echo 'document.location.href="' . $_SERVER['REQUEST_URI'] . '?u_name=" + userName2';
    13.     echo '</script>';
    14.     exit();
    15. }
    16. echo "$arr";
    17. $fp = fopen('db.txt', 'w');
    18. fclose($fp);
    19. $fp = fopen("db.txt", "a");
    20. fwrite($fp, $arr);
    21. fclose($fp);
    22. ?>
    Но так не подходит, так как localStorage позволяет использовать до 4 Кб. Попробовал вызывать функцию PHP без перезагрузки страницы и вроде бы все ок, да вот только функция, для сохранения уже не отрабатывает. Вот то, к чему пришел:
    PHP:
    1. <br /><form name="2" method="post" action="<?=$_SERVER['PHP_SELF']?>">
    2. <input type=hidden name="qwe" value="586">
    3. <script type="text/javascript">
    4. function save(){
    5.     temp = [1,1,1];
    6.     userName2 = JSON.stringify(temp);
    7. }
    8. document.write('<input onclick="save()" type="submit" value="save">');
    9. </script>
    10. <br />
    11. </form>
    12. <script type="text/javascript">
    13. var temp = [343,343,343];
    14. var userName2 = JSON.stringify(temp);
    15. </script>
    16. <?php
    17. function savePhp()
    18. {
    19.    $arr;
    20.    if (isset($_GET['u_name'])) {
    21.        echo $_GET['u_name'];
    22.        $arr = $_GET['u_name'];
    23.    } else {
    24.        echo '<script type="text/javascript">';
    25.        echo 'document.location.href="' . $_SERVER['REQUEST_URI'] . '?u_name=" + userName2';
    26.        echo '</script>';
    27.        exit();
    28.    }
    29.    echo "$arr";
    30.    $fp = fopen('db.txt', 'w');
    31.    fclose($fp);
    32.    $fp = fopen("db.txt", "a");
    33.    fwrite($fp, $arr);
    34.    fclose($fp);
    35. }
    36. ?>
    37. <?php
    38. if ($_POST['qwe'] == 586) {
    39.    savePhp();
    40. }
    41.  
    42. ?>
    Буду благодарен за помощь!!!
     
    #1 Den84, 3 авг 2018
    Последнее редактирование модератором: 3 авг 2018
  2. villiwalla

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

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    4кб это Куки
    локалСторэйдж до 4гб
    Если я правильно понял вы хотите загружать файлы на сервер без перезагрузки страницы на клиенте? Если так то я бы вам для начала рекомендовал научится это делать с перезагрузкой страницы. И подобная сегодня тема уже была https://php.ru/forum/threads/zagruzka-fajla-ne-proisxodit.71978/
     
  3. Den84

    Den84 Новичок

    С нами с:
    3 авг 2018
    Сообщения:
    2
    Симпатии:
    0
    Спасибо!
    --- Добавлено ---
    Не соглашусь с Вами относительно localStorage, максимум 5 Мб. И именно из-за этого мне и не подходит вариант с перезагрузкой.