PHP文件上传无法在Mac测试台上运行

时间:2015-12-17 06:16:07

标签: php macos file-upload phpstorm

我正在尝试学习如何在PHP中上传文件。我今天在OS X Yosemite 10.10.5上安装了最新版本的MAMP。它默认为PHP 7。 以下代码是W3C的一个小修改,但不起作用:

USB

我正在使用PHP Storm 10.当我使用PHP Storm链接启动应用程序Chrome时。当网页打开时,我得到了预期的结果:

<?php
/**
 * File: upload.php
 * Description:
 *
 * @author David Brodersen.
 * @version:
 * @date: 12/16/15
 */
echo 'Outputting $_POST:' . '<br />';
print_r($_POST);

echo '<br /><br />Outputting $_FILES["userfile"]:' . '<br />';
print_r($_FILES['userfile']);

echo '<br />User file stats:<br />';

echo 'name: ' . $_FILES['userfile']['name'] . '<br />';
echo 'type: ' . $_FILES['userfile']['type'] . '<br />';
echo 'size: ' . $_FILES['userfile']['size'] . '<br />';
echo 'tmp_name: ' . $_FILES['userfile']['tmp_name'] . '<br />';
echo 'error: ' . $_FILES['userfile']['error'] . '<br /><br /><br />';

?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Upload</title>
</head>

<body>
<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="upload.php" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="300000"/>
    <!-- Name of input element determines name in $_FILES array -->
    Send this file: <input name="userfile" type="file"/> <br/>
    <input type="submit" value="Send File"/>
</form>

</body>

</html>

我选择一个300 kb的图像文件并选择“发送文件”。选项卡中的微调器旋转了一段时间,然后页面更新到与第一次打开时相同的状态。没有统计数据。在PHP Storm的配置中,我使用php-cgi Interpreter for PHP 7。

1 个答案:

答案 0 :(得分:0)

php.ini文件中查看这些值:

  • post_max_size
  • upload_max_filesize

对于MAMP,您通常可以在此路径中找到php.ini

/Applications/MAMP/bin/php/{PHP Version}/conf/php.ini

P.S:对于共享服务器,您无法访问php.ini文件,您可以使用.htaccess文件覆盖它们,如下所示:

php_value post_max_size 30M
php_value upload_max_filesize 30M

如果此解决方案不适合您,您可能需要联系您的主机提供商,因为他可能不允许您更改php.ini值。