php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #79423 copy command is limited to size of file it can copy
Submitted: 2020-03-27 21:01 UTC Modified: 2020-03-29 12:53 UTC
From: jeff at forerunnertv dot com Assigned: cmb (profile)
Status: Closed Package: Filesystem function related
PHP Version: 7.3.16 OS: windows
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: jeff at forerunnertv dot com
New email:
PHP Version: OS:

 

 [2020-03-27 21:01 UTC] jeff at forerunnertv dot com
Description:
------------
---
From manual page: https://php.net/function.copy
---

I am pretty sure there is some kind of limit to the size of file that the copy command can actually copy on Windows 10.

For example if I try to copy a 5GB+ file, it will return as succesful, but will not actually copy the whole file.

Could this limitation be confirmed and added to the documentation?

Thanks



Patches

Pull Requests

Pull requests:

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2020-03-28 22:44 UTC] requinix@php.net
-Status: Open +Status: Feedback -Type: Documentation Problem +Type: Bug -Package: Unknown/Other Function +Package: Filesystem function related
 [2020-03-28 22:44 UTC] requinix@php.net
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves.

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external
resources such as databases, etc. If the script requires a
database to demonstrate the issue, please make sure it creates
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.


 [2020-03-28 23:19 UTC] jeff at forerunnertv dot com
-Status: Feedback +Status: Open
 [2020-03-28 23:19 UTC] jeff at forerunnertv dot com
<?php
  $from = "C:\myBigFile.mp4"; // Needs to be a big ile, like 5GB or 6GB
  $to = "C:\myBigFile_COPY.mp4";
  copy($from, $to);
?>
 [2020-03-28 23:43 UTC] requinix@php.net
-Status: Open +Status: Verified
 [2020-03-28 23:43 UTC] requinix@php.net
Copies exactly 1GB. Affects other functions like stream_copy_to_stream() as well.

There may be an existing bug report for this problem.
 [2020-03-29 12:53 UTC] cmb@php.net
-Assigned To: +Assigned To: cmb
 [2020-03-29 12:53 UTC] cmb@php.net
This is a Windows only issue, and is because we're not properly
retrieving the file size when mmapping.  After this is fixed, on
32bit systems files up to 4294967295 bytes can be copied; 64bit
systems practically have no limit.
 [2020-03-29 13:07 UTC] cmb@php.net
The following pull request has been associated:

Patch Name: Fix #79423: copy command is limited to size of file it can copy
On GitHub:  https://github.com/php/php-src/pull/5319
Patch:      https://github.com/php/php-src/pull/5319.patch
 [2020-09-22 11:20 UTC] cmb@php.net
Automatic comment on behalf of cmbecker69@gmx.de
Revision: http://git.php.net/?p=php-src.git;a=commit;h=4000780b3d0bbba2d94f65602e602c3892d9775b
Log: Fix #79423: copy command is limited to size of file it can copy
 [2020-09-22 11:20 UTC] cmb@php.net
-Status: Verified +Status: Closed
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 13:01:29 2024 UTC