mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Fix seeking in php://input
This commit is contained in:
committed by
Nikita Popov
parent
32ae716037
commit
dbe7f2a41a
@@ -128,7 +128,7 @@ static int php_stream_input_seek(php_stream *stream, zend_off_t offset, int when
|
||||
|
||||
if (input->body) {
|
||||
int sought = php_stream_seek(input->body, offset, whence);
|
||||
*newoffset = (input->body)->position;
|
||||
*newoffset = input->position = (input->body)->position;
|
||||
return sought;
|
||||
}
|
||||
|
||||
|
||||
34
tests/basic/enable_post_data_reading_07.phpt
Normal file
34
tests/basic/enable_post_data_reading_07.phpt
Normal file
@@ -0,0 +1,34 @@
|
||||
--TEST--
|
||||
enable_post_data_reading: seeking in php://input
|
||||
--INI--
|
||||
enable_post_data_reading=1
|
||||
--POST_RAW--
|
||||
Content-Type: application/unknown
|
||||
0123456789
|
||||
--FILE--
|
||||
<?php
|
||||
echo "Test\n";
|
||||
|
||||
$f1 = fopen("php://input", "r");
|
||||
fseek($f1, 3, SEEK_SET);
|
||||
echo fgetc($f1);
|
||||
fseek($f1, 1, SEEK_SET);
|
||||
echo fgetc($f1);
|
||||
fseek($f1, 3, SEEK_CUR);
|
||||
echo fgetc($f1);
|
||||
fseek($f1, -3, SEEK_CUR);
|
||||
echo fgetc($f1);
|
||||
fseek($f1, 3, SEEK_END);
|
||||
echo fgetc($f1);
|
||||
fseek($f1, -3, SEEK_END);
|
||||
$f2 = fopen("php://input", "r");
|
||||
fseek($f2, 1, SEEK_SET);
|
||||
echo fgetc($f1);
|
||||
echo fgetc($f2);
|
||||
?>
|
||||
|
||||
Done
|
||||
--EXPECT--
|
||||
Test
|
||||
315371
|
||||
Done
|
||||
Reference in New Issue
Block a user