0

我一直在使用 php / imagick 构建一个相当大的图像处理网站,并且很长一段时间以来,我都有一个可以将发布的文件上传到服务器的功能。它现在决定(提前 6 小时)不再接受任何上传。

我认为它与服务器端的某些描述的输出缓冲或文件缓存有关(我真的不太了解这些)。我检查了输入类型和格式是否与正常情况相同,但没有骰子。

此外,我什至回去尝试创建一个非常基本的上传页面来测试它,甚至它不起作用。下面的代码是用于基本上传页面的,我认为它没有任何问题。

HTML:

<form action="" method="POST" enctype="multipart/form-data" >
<div class="">
    <input type="text" name="title" /><br />
    <input type="text" name="album" /><br />
    <textarea cols="40" name="description" ></textarea><br />
</div>

<img class='' src='images/assets/upload/browse.png' /><br />
<input class='' type="file" name="image" value="" />
<input class ="" type="submit" name="upload" value="" />

PHP

<?php

//include 'includes/beginpage.php'; //包括'methods/usermethods.php';

if(isset($_POST['submit'])){

    // Example of accessing data for a newly uploaded file
    $fileName = $_FILES["file"]["name"]; 
    $fileTmpLoc = $_FILES["file"]["tmp_name"];
    // Path and file name
    $pathAndName = "Users/".$fileName;
    // Run the move_uploaded_file() function here
    $moveResult = move_uploaded_file($fileTmpLoc, $pathAndName);
    // Evaluate the value returned from the function if needed
    if ($moveResult == true) {
            echo "File has been moved from " . $fileTmpLoc . " to" . $pathAndName;
    } else {
             echo "ERROR: File not moved correctly";
    }

} ?>

我非常感谢任何人可以给我的任何帮助。

干杯,肖恩

编辑:

事实证明,它与在 linux 上创建文件夹时的访问权限有关。稍后我会调查它,但现在刚刚采取了临时措施 - 手动创建文件夹。

感谢 Michael W 如此快速的响应,帮助我找到那些服务器日志帮助我找到了问题

4

1 回答 1

0

在检查我服务器上的错误日志后,我看到几行提到了 Imagick 错误。在谷歌上大约 5 分钟后,一般的想法似乎是 Imagick 被限制访问资源。就我而言,该资源实际上并不存在。

我需要使用整个“umask”解决方法在其他地方修复一些关于在服务器的根位置为这些站点文件创建目录的代码。我使用 mkdir() 方法测试并让该站点正常工作,再次尝试,一切正常。再次感谢 Mike W 对服务器日志的提示,我什至没有想过要检查那里!

于 2013-10-23T07:37:52.093 回答