bug27023.phpt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. --TEST--
  2. Bug #27023 (CURLOPT_POSTFIELDS does not parse content types for files)
  3. --INI--
  4. error_reporting = E_ALL & ~E_DEPRECATED
  5. --EXTENSIONS--
  6. curl
  7. --FILE--
  8. <?php
  9. include 'server.inc';
  10. $host = curl_cli_server_start();
  11. $ch = curl_init();
  12. curl_setopt($ch, CURLOPT_SAFE_UPLOAD, 1);
  13. curl_setopt($ch, CURLOPT_URL, "{$host}/get.inc?test=file");
  14. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  15. $file = curl_file_create(__DIR__ . '/curl_testdata1.txt');
  16. $params = array('file' => $file);
  17. curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
  18. var_dump(curl_exec($ch));
  19. $file = curl_file_create(__DIR__ . '/curl_testdata1.txt', "text/plain");
  20. $params = array('file' => $file);
  21. curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
  22. var_dump(curl_exec($ch));
  23. $file = curl_file_create(__DIR__ . '/curl_testdata1.txt', null, "foo.txt");
  24. $params = array('file' => $file);
  25. curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
  26. var_dump(curl_exec($ch));
  27. $file = curl_file_create(__DIR__ . '/curl_testdata1.txt', "text/plain", "foo.txt");
  28. $params = array('file' => $file);
  29. curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
  30. var_dump(curl_exec($ch));
  31. curl_close($ch);
  32. ?>
  33. --EXPECTF--
  34. string(%d) "curl_testdata1.txt|application/octet-stream|6"
  35. string(%d) "curl_testdata1.txt|text/plain|6"
  36. string(%d) "foo.txt|application/octet-stream|6"
  37. string(%d) "foo.txt|text/plain|6"