【问题标题】:Cannot see uploaded file using form/php -- developing on Mac OSX with XAMPP看不到使用 form/php 上传的文件——在 Mac OSX 上使用 XAMPP 开发
【发布时间】:2011-12-11 00:18:48
【问题描述】:

我目前在 MAC OS X 上使用 XAMPP,并在我的 php.ini 中进行了适当的配置以启用文件上传。

通过 HTML 表单执行上传后,当我显示 $_FILES 的数组时,我看到以下内容:

Array
(
    [name] => koopa.jpg
    [type] => image/jpeg
    [tmp_name] => /Users/jay/Sites/uploads/php5QJtL3
    [error] => 0
    [size] => 14158
)

如图,错误码为[0],表示文件上传成功。但是,/Users/jay/Sites/uploads/ 的内容完全是空的。

我经历了以下用户对文件夹所有权的迭代:root、jay、nobody、zend,并在每次更改文件夹所有权时重新启动 XAMPP。我还将该文件夹的权限设置为 777。

然而,我仍然无法看到/找到上传的文件。

还有其他人遇到过同样的问题吗?

【问题讨论】:

  • 请在我上面的帖子中将“myfolder”替换为“jay”,参考[tmp_name]索引。
  • 我没有 Mac,所以我无法自己测试文件上传,但这里有一个链接可能会有所帮助:data.agaric.com/…
  • 我的 php.ini 文件已经设置了 upload_tmp_dir=/Users/jay/Sites/uploads 值。不过,谢谢你的链接。 :-)
  • 发布处理文件上传的PHP代码。

标签: php macos file-upload xampp


【解决方案1】:

我认为你遗漏了一些东西,我猜你已经上传了文件但你没有存储它?

我将为您粘贴一些示例代码,以确保您以正确的方式进行操作:

for ($i = 0; $i < sizeof($_FILES['file']['name']); $i++) {

     $target_path = 'your/upload/path/';
     $file_name = 'file_name_including.extension'
     $full_path = $target_path.$file_name;

     if(move_uploaded_file($_FILES['file']['tmp_name'][$i], $full_path) {
          echo 'file uploaded correctly';
     } else {
          echo 'something went wrong';
     }

}

告诉我这是否对你有帮助。

问候

【讨论】:

  • 天使,谢谢你的帖子。我根本没有做 move_uploaded_file() 。你的建议有帮助。谢谢你。 :-)
  • 不客气@spammypie,只要告诉我你是否做得正确或者你需要别的东西:)
猜你喜欢
  • 2021-11-04
  • 1970-01-01
  • 2010-11-22
  • 1970-01-01
  • 2020-02-26
  • 1970-01-01
  • 1970-01-01
  • 2021-03-12
  • 2016-11-30
相关资源
最近更新 更多