|
stream_copy_to_stream
Copies data from one stream to another
(PHP 5)
Example 2373. A stream_copy_to_stream() example<?php Related Examples ( Source code ) » stream_copy_to_stream Examples ( Source code ) » Download big file using HttpRequest Code Examples / Notes » stream_copy_to_streamnone
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 Languagestream_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 |