0

将图像上传到我的网站主机时出现错误。但我在 WAMP 服务器上没有遇到任何问题。这是我得到的错误。

[20-Aug-2013 00:58:27 America/Denver] PHP Warning:  copy(/photos/Light-And-Snow.jpg) [<a href='function.copy'>function.copy</a>]: failed to open stream: No such file or directory in /home/rajeev/public_html/upload.php on line 86

第 86 行的代码是

                mysql_query(
                "INSERT INTO
                    gallery_photos (
                `photo_filename`,
        `photo_caption`,
                `photo_description`,
        `photo_keywords`,
                `category_name`
                ) VALUES(
            '".addslashes($photos_uploaded['name'][$counter])."',
                    '".addslashes($photo_caption[$counter])."',
                    '".addslashes($photo_description[$counter])."',
                    '".addslashes($photo_keyword[$counter])."',
                    '".addslashes($_POST['category'])."')"
                ) or die(mysql_error() . 'Photo not uploaded');

            $filetype = $photos_uploaded['type'][$counter];

            $extention = $known_photo_types[$filetype];

// Store the orignal file
copy($photos_uploaded['tmp_name'][$counter], $images_dir."/".$photos_uploaded['name'][$counter]);

我究竟做错了什么?感谢您的任何指示...

4

1 回答 1

1

看起来您正在尝试将照片保存到/photos/主机上的目录中。在共享主机环境中,您很可能无权在文件系统的根目录上创建文件夹。

我猜,你在某处有一条线

$images_dir = '/photos';

您需要将其更改为相对路径而不是绝对路径:

$images_dir = $_SERVER['DOCUMENT_ROOT'] . '/photos';

您可能还必须创建该文件夹并确保它具有写入权限。这可以通过命令行(如果您具有 shell 访问权限)或通过您的托管服务提供商提供的管理工具来完成。

它适用于 WAMP,因为您喜欢以宽松的权限运行:Apache 有权创建或写入C:\photos\目录

于 2013-08-20T19:14:26.900 回答