На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (3) 1 2 [3]  все  ( Перейти к последнему сообщению )  
> Обсуждение FAQ-ов
      Привет!
      У меня есть скрипт на php

      <?php
      $socket = fsockopen('test1.ua', 80, $errno, $errstr, 30);
      if(!$socket)die("$errstr($errno)");

      //разделитель
      $boundary = md5(uniqid(time()));
      /*собираем часть с файлом:
      сначала разделитель\r\n
      со следующей строки заголовки\r\n
      потом пустая строка\r\n
      после чего сам файл\r\n
      */
      $file = "--$boundary\r\n";
      $file.= "Content-Disposition: form-data; name=\"myfile\"; filename=\"summary.log\"\r\n";
      $file.= "Content-Type: text/plain\r\n\r\n";
      $file.= file_get_contents("C:\test.txt");// это файл у юзера на компе
      $file.= "\r\n";

      //пишем в сокет метод, URI и протокол
      $headers = "POST /get.php HTTP/1.1\r\n";
      //а также имя хоста
      $headers .= "Host: test1.ru\r\n";
      //размер передаваемых данных передаем в заголовке
      //Content-length
      $headers .= "Content-length:".strlen($file)."\r\n";
      $headers .= "Content-Type: multipart/form-data; boundary=$boundary\r\n";
      $headers .= "Connection: Close\r\n\r\n";
      //передаем файл
      $headers .= "$file";
      //в конце разделитель
      $headers .= "--$boundary--\r\n";
      //и пустая строка
      $headers .= "\r\n";

      fwrite($socket, $headers);

      //теперь читаем и выводим ответ
      $answer = '';
      while(!feof($socket)){
      $answer= fgets($socket, 4096);
      echo $answer;
      }
      //закрываем сокет
      fclose($socket);
      ?>

      он скрипту get.php отправляет файл test.txt
      (аналог простой форме которая отправляет файл на сервер)
      <html>
      <body>
      <FORM ENCTYPE="multipart/form-data" ACTION="get.php" METHOD=POST><br>
      Выберете файл: <INPUT NAME="myfile" TYPE="file"><br>
      <INPUT TYPE="submit" VALUE="Загрузить">
      </FORM>
      </body>
      </html>

      вот код скрипта get.php

      <?php
      // Загрузка файлов на сервер
      // Если register_globals=Off

      // Если upload файла
      if(isset($_FILES["myfile"]))
      {
      $myfile = $_FILES["myfile"]["tmp_name"];
      $myfile_name = $_FILES["myfile"]["name"];
      $myfile_size = $_FILES["myfile"]["size"];
      $myfile_type = $_FILES["myfile"]["type"];
      $error_flag = $_FILES["myfile"]["error"];

      // Если ошибок не было
      if($error_flag == 0)
      {
      print("Имя файла на нашем сервере (во время запроса): ".$myfile."<br>");
      print("Имя файла на компьютере пользователя: ".$myfile_name."<br>");
      print("MIME-тип файла: ".$myfile_type."<br>");
      print("Размер файла: ".$myfile_size."<br><br>");

      $catalog = "../Our_Site/".$myfile_name;
      copy($myfile, $catalog);
      // Получаем содержимое файла
      $fp = fopen($myfile,"r");
      $content = fread($fp, filesize($myfile));
      fclose($fp);

      // Вывод содержимого файла
      //print($content);

      } // end of if 2
      } // end of if 1
      ?>

      теперь вопрос :
      если пользоваться формой то файл на сервере создается,
      а если первым скриптом то нет.
      скажите что неправильно
        Цитата miki131 @
        скажите что неправильно

        Во-первых неправильно то, что ты не воспользовался тэгами [CODE] [/CODE]

        Добавлено
        А во-вторых вообще-то раздел у нас есть PHP... ;)
          Прошу немного внимания:
          В разделах JavaScript, DOM/DHTML и HTML, CSS откопаны и переформированы FAQ'и...
          По HTML/CSS: FAQ
          По JavaScript: FAQ по JavaScript

          К сожалению как оказалось в них не так то много сообщений... Если есть желание и силы, нужно заняться их наполнением...
          Сообщения для FAQ я думаю можно выкладывать здесь (как и задумывалось изначально), желательно (но не критично) оформлять также как это сделано в уже существующих сообщениях FAQ'ов 8-)
            Приглашаю всех парней в персональный видеочат. Я вот тут: http://runetki.com/194441

            Общаюсь на любые самые разнообразные темы. Если захочешь, в самом конце общения можешь вознаградить меня за мой непосильный труд мелочью из твоего кошелька. Приятных встреч.
              Тогда было бы логичнее ссылаться на пункт 4.1 или раздел 4, а тут позиция. Вводят в заблуждение...
              Прикреплённый файлПрикреплённый файл29.jpg (8,04 Кбайт, скачиваний: 1837)
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:
              Страницы: (3) 1 2 [3]  все


              Рейтинг@Mail.ru
              [ Script execution time: 0,0241 ]   [ 17 queries used ]   [ Generated: 4.10.24, 15:24 GMT ]