Bug #40574 [Com]: file_put_contents fails with ftp wrapper
Edit report at https://bugs.php.net/bug.php?id=40574&edit=1
ID: 40574
Comment by: simonsimcity at gmail dot com
Reported by: arnaud@php.net
Summary: file_put_contents fails with ftp wrapper
Status: No Feedback
Type: Bug
Package: Streams related
PHP Version: 5.2.1
Block user comment: N
Private report: N
New Comment:
I think I have the same issue reproduced in a slightly different way:
In one script I tried to upload a file using WebDAV. Therefore I used the PHP-Library
HTTP_WebDAV_Client_Stream.
This library registers the streams webdav:// and webdavs://
When I try to save into that stream using file_put_contents() it fails returning "Only 0 of 160
bytes written, possibly out of free disk space" .. but the work-arround (using fopen, fwrite
and fclose) works.
Here's the code:
http://pastebin.com/8tDqyg4K
Previous Comments:
------------------------------------------------------------------------
[2007-05-30 00:49:33] lc at nospam dot com
I am also getting the same behavior mat describes using 5.2.2 The only
way to get a successfull upload using file_put_contents using a ftp
stream is when the file being uploaded does not exist on the server.
Subsequent uploads with the stream_context of overwrite being true
result in a zero-byte file
------------------------------------------------------------------------
[2007-03-28 14:34:44] mat at actiondb dot com
The example:
<?php
$c = stream_context_create(array("ftp" => array("overwrite"=>true)));
var_dump(file_put_contents("ftp://localhost/upload/data.txt",
"data", 0, $c));
?>
Will output int(4), but if you check the FTP server, the file will probably be 0 bytes.
I have been trying to resolve this problem myself, and it seems that if the file is greater than
around 30K-35K (maybe it's 32K?), the upload works.
I'm using PHP 5.2.1 on Apache 2.2.4 installed on Win2k3
------------------------------------------------------------------------
[2007-03-14 01:00:00] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2007-03-06 11:55:08] tony2001@php.net
Can't reproduce using vsftpd.
------------------------------------------------------------------------
[2007-03-05 13:48:52] arnaud@php.net
Using proftpd with authentication fails
php > $c = stream_context_create(array("ftp" =>
array("overwrite"=>true)));
php > var_dump(file_put_contents("ftp://xx:xx@localhost/data.txt",
"data", 0, $c));
Warning: file_put_contents(): Only 0 of 4 bytes written, possibly out of free disk space in php
shell code on line 1
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=40574
--
Edit this bug report at https://bugs.php.net/bug.php?id=40574&edit=1
Thread (9 messages)