1--TEST--
2move_uploaded_file() function
3--CREDITS--
4Dave Kelsey <d_kelsey@uk.ibm.com>
5--POST_RAW--
6Content-type: multipart/form-data, boundary=AaB03x
7
8--AaB03x
9content-disposition: form-data; name="field1"
10
11Joe Blow
12--AaB03x
13content-disposition: form-data; name="file1"; filename="file1.txt"
14Content-Type: text/plain
15
16abcdef123456789xxxDDDxxxDDDxxxDDD
17--AaB03x
18content-disposition: form-data; name="file2"; filename="file2.txt"
19Content-Type: text/plain
20
21abcdef123456789
22--AaB03x--
23--FILE--
24<?php
25
26echo "Valid move\n";
27$destination1 = __FILE__ . ".tmp";
28
29var_dump(move_uploaded_file($_FILES['file1']['tmp_name'], $destination1));
30$file_contents = file_get_contents($destination1);
31$contents_matches = ($file_contents == b"abcdef123456789xxxDDDxxxDDDxxxDDD");
32var_dump($contents_matches);
33unlink($destination1);
34echo "\n";
35
36echo "Original name of uploaded file\n";
37$destination2 = __FILE__ . ".tmp2";
38var_dump(move_uploaded_file($_FILES['file1']['name'], $destination2));
39
40echo "Non-uploaded source file\n";
41$source = __FILE__;
42$destination3 = __FILE__ . ".tmp3";
43var_dump(move_uploaded_file($source, $destination3));
44
45echo "Valid move to existing file\n";
46$destination4 = __FILE__ . ".tmp4";
47$fd = fopen($destination4, "w");
48fclose($fd);
49var_dump(move_uploaded_file($_FILES['file2']['tmp_name'], $destination4));
50unlink($destination4);
51
52echo "Wrong parameters\n";
53var_dump(move_uploaded_file());
54var_dump(move_uploaded_file(1, 2, 3));
55
56
57?>
58--EXPECTF--
59Valid move
60bool(true)
61bool(true)
62
63Original name of uploaded file
64bool(false)
65Non-uploaded source file
66bool(false)
67Valid move to existing file
68bool(true)
69Wrong parameters
70
71Warning: move_uploaded_file() expects exactly 2 parameters, 0 given in %s on line %d
72NULL
73
74Warning: move_uploaded_file() expects exactly 2 parameters, 3 given in %s on line %d
75NULL
76
77