Mercurial > hg > isophonics-drupal-site
comparison vendor/psr/http-message/src/UploadedFileInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 | |
3 namespace Psr\Http\Message; | |
4 | |
5 /** | |
6 * Value object representing a file uploaded through an HTTP request. | |
7 * | |
8 * Instances of this interface are considered immutable; all methods that | |
9 * might change state MUST be implemented such that they retain the internal | |
10 * state of the current instance and return an instance that contains the | |
11 * changed state. | |
12 */ | |
13 interface UploadedFileInterface | |
14 { | |
15 /** | |
16 * Retrieve a stream representing the uploaded file. | |
17 * | |
18 * This method MUST return a StreamInterface instance, representing the | |
19 * uploaded file. The purpose of this method is to allow utilizing native PHP | |
20 * stream functionality to manipulate the file upload, such as | |
21 * stream_copy_to_stream() (though the result will need to be decorated in a | |
22 * native PHP stream wrapper to work with such functions). | |
23 * | |
24 * If the moveTo() method has been called previously, this method MUST raise | |
25 * an exception. | |
26 * | |
27 * @return StreamInterface Stream representation of the uploaded file. | |
28 * @throws \RuntimeException in cases when no stream is available or can be | |
29 * created. | |
30 */ | |
31 public function getStream(); | |
32 | |
33 /** | |
34 * Move the uploaded file to a new location. | |
35 * | |
36 * Use this method as an alternative to move_uploaded_file(). This method is | |
37 * guaranteed to work in both SAPI and non-SAPI environments. | |
38 * Implementations must determine which environment they are in, and use the | |
39 * appropriate method (move_uploaded_file(), rename(), or a stream | |
40 * operation) to perform the operation. | |
41 * | |
42 * $targetPath may be an absolute path, or a relative path. If it is a | |
43 * relative path, resolution should be the same as used by PHP's rename() | |
44 * function. | |
45 * | |
46 * The original file or stream MUST be removed on completion. | |
47 * | |
48 * If this method is called more than once, any subsequent calls MUST raise | |
49 * an exception. | |
50 * | |
51 * When used in an SAPI environment where $_FILES is populated, when writing | |
52 * files via moveTo(), is_uploaded_file() and move_uploaded_file() SHOULD be | |
53 * used to ensure permissions and upload status are verified correctly. | |
54 * | |
55 * If you wish to move to a stream, use getStream(), as SAPI operations | |
56 * cannot guarantee writing to stream destinations. | |
57 * | |
58 * @see http://php.net/is_uploaded_file | |
59 * @see http://php.net/move_uploaded_file | |
60 * @param string $targetPath Path to which to move the uploaded file. | |
61 * @throws \InvalidArgumentException if the $targetPath specified is invalid. | |
62 * @throws \RuntimeException on any error during the move operation, or on | |
63 * the second or subsequent call to the method. | |
64 */ | |
65 public function moveTo($targetPath); | |
66 | |
67 /** | |
68 * Retrieve the file size. | |
69 * | |
70 * Implementations SHOULD return the value stored in the "size" key of | |
71 * the file in the $_FILES array if available, as PHP calculates this based | |
72 * on the actual size transmitted. | |
73 * | |
74 * @return int|null The file size in bytes or null if unknown. | |
75 */ | |
76 public function getSize(); | |
77 | |
78 /** | |
79 * Retrieve the error associated with the uploaded file. | |
80 * | |
81 * The return value MUST be one of PHP's UPLOAD_ERR_XXX constants. | |
82 * | |
83 * If the file was uploaded successfully, this method MUST return | |
84 * UPLOAD_ERR_OK. | |
85 * | |
86 * Implementations SHOULD return the value stored in the "error" key of | |
87 * the file in the $_FILES array. | |
88 * | |
89 * @see http://php.net/manual/en/features.file-upload.errors.php | |
90 * @return int One of PHP's UPLOAD_ERR_XXX constants. | |
91 */ | |
92 public function getError(); | |
93 | |
94 /** | |
95 * Retrieve the filename sent by the client. | |
96 * | |
97 * Do not trust the value returned by this method. A client could send | |
98 * a malicious filename with the intention to corrupt or hack your | |
99 * application. | |
100 * | |
101 * Implementations SHOULD return the value stored in the "name" key of | |
102 * the file in the $_FILES array. | |
103 * | |
104 * @return string|null The filename sent by the client or null if none | |
105 * was provided. | |
106 */ | |
107 public function getClientFilename(); | |
108 | |
109 /** | |
110 * Retrieve the media type sent by the client. | |
111 * | |
112 * Do not trust the value returned by this method. A client could send | |
113 * a malicious media type with the intention to corrupt or hack your | |
114 * application. | |
115 * | |
116 * Implementations SHOULD return the value stored in the "type" key of | |
117 * the file in the $_FILES array. | |
118 * | |
119 * @return string|null The media type sent by the client or null if none | |
120 * was provided. | |
121 */ | |
122 public function getClientMediaType(); | |
123 } |