Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Stream Functions : stream_copy_to_stream

stream_copy_to_stream

Copies data from one stream to another (PHP 5)
int stream_copy_to_stream ( resource source, resource dest [, int maxlength [, int offset]] )

Example 2373. A stream_copy_to_stream() example

<?php
$src
= fopen('http://www.example.com', 'r');
$dest1 = fopen('first1k.txt', 'w');
$dest2 = fopen('remainder.txt', 'w');

echo
stream_copy_to_stream($src, $dest1, 1024) . " bytes copied to first1k.txt\n";
echo
stream_copy_to_stream($src, $dest2) . " bytes copied to remainder.txt\n";

?>

Related Examples ( Source code ) » stream_copy_to_stream


Code Examples / Notes » stream_copy_to_stream

none

stream_copy_to_stream almost copies a stream...
$objInputStream = fopen("php://input", "rb");
$objTempStream = fopen("php://temp", "w+b");
stream_copy_to_stream($objInputStream, $objTempStream);
That code will copy a stream but it will also move the stream pointers to EOF.  This is fine if you plan on rewinding the temp stream but good luck rewinding the input stream.
rewind($objTempStream);
rewind($objInputStream);
So as you can see this is stream copy or stream move depending on what kind of stream you are working with, and because there are no peaking functions your effed if you need to read from an input stream in multiple classes that are unrelated.


sundance2001 guess what gmail.com

If you need to copy a file from any website into yours you can use following function:
function getUrlContents($url)
{
  $url_parsed = parse_url($url);
  $host = $url_parsed["host"];
  if ($url == '' || $host == '') {
      return false;
  }
  $port = 80;
  $path = (empty($url_parsed["path"]) ? '/' : $url_parsed["path"]);
  $path.= (!empty($url_parsed["query"]) ? '?'.$url_parsed["query"] : '');
  $out = "GET $path HTTP/1.0\r\nHost: $host\r\nConnection: Close\r\n\r\n";
  $fp = fsockopen($host, $port, $errno, $errstr, 30);
  fwrite($fp, $out);
  $headers = '';
  $content = '';
  $buf = '';
  $isBody = false;
 while (!feof($fp) and !$isBody) {
         $buf = fgets($fp, 1024);
         if ($buf == "\r\n" ) {$isBody = true;}
         else{$headers .= $buf;}
         }
         $file1 = fopen(basename($url_parsed["path"]), 'w');
         $bytes=stream_copy_to_stream($fp,$file1);
  fclose($fp);
  return $bytes;
}


Change Language


Follow Navioo On Twitter
stream_bucket_append
stream_bucket_make_writeable
stream_bucket_new
stream_bucket_prepend
stream_context_create
stream_context_get_default
stream_context_get_options
stream_context_set_option
stream_context_set_params
stream_copy_to_stream
stream_encoding
stream_filter_append
stream_filter_prepend
stream_filter_register
stream_filter_remove
stream_get_contents
stream_get_filters
stream_get_line
stream_get_meta_data
stream_get_transports
stream_get_wrappers
stream_register_wrapper
stream_resolve_include_path
stream_select
stream_set_blocking
stream_set_timeout
stream_set_write_buffer
stream_socket_accept
stream_socket_client
stream_socket_enable_crypto
stream_socket_get_name
stream_socket_pair
stream_socket_recvfrom
stream_socket_sendto
stream_socket_server
stream_socket_shutdown
stream_wrapper_register
stream_wrapper_restore
stream_wrapper_unregister
eXTReMe Tracker