0

你好经验丰富的程序员。我目前在我的../var/www/photos文件夹中有目录images/和文件Dan.php

当我Dan.php在浏览器中使用时单击上传按钮时,会显示一条成功消息。破碎的图像方块出现了。右键单击图像时,我也无法在新选项卡中打开图像。图像也不会出现在images/文件夹中。这里是Dan.php。我将感谢您的见解和帮助。

我也试过做chmod -R 777 ../var/www/photos/images

<!--I want you to use GD Library to Resize the image that is uploaded. 

如果你很快就明白了,开始研究用于裁剪的 JS 脚本

个人资料图片的图像(比例应为 1:1)-->

<html>
    <body>
        <form action="<?php echo ( $_SERVER['PHP_SELF'] );?>" method="post" enctype="multipart/form-data">
            <label for="file">Pictures</label>
            <input type="file" name="file[]" id="file" accept="image/*"  multiple="">
            <button type="submit" name="send_album">Submit</button>
        </form>
        <?php
        if(!is_dir('images')) {
            mkdir('images');
        }
        if(isset($_POST['send_album'])) { 
            //for($x = 0; $x < 9; $x++)
            $x = -1;

             foreach ($_FILES["file"]["name"] as $firstNameKey => $arFileDescriptions) {
                $x += 1;
                if ($_FILES["file"]["error"][$x] > 0) {
                    echo "Error: " . $_FILES["file"]["error"][$x] . "<br>";
                } elseif (file_exists("images/". $_FILES["file"]["name"][$x])) {
                    echo $_FILES["file"]["name"][$x] . " already exists. <br />";
                } else {
                    move_uploaded_file($_FILES["file"]["tmp_name"][$x], "images/" . $_FILES["file"]["name"][$x] . '/');

                    echo "Stored in: " . "images/" . $_FILES["file"]["name"][$x] ."<br />";
                    echo '<img style="height:150px;" src="' . 'images/'. $_FILES["file"]["name"][$x] . '" /><br />';
                    echo "Upload: " . $_FILES["file"]["name"][$x] . "<br />";
                    echo "Type: " . $_FILES["file"]["type"][$x] . "<br />";
                    echo "Size: " . ($_FILES["file"]["size"][$x] / 1024) . " kB<br />";
                }
            }
        }
        ?>
    </body>
</html>
4

2 回答 2

0

我对您的代码进行了一些更改。尝试这个。

if(isset($_POST['send_album'])) { 
        //for($x = 0; $x < 9; $x++)
        $x = -1;

         foreach ($_FILES["file"]["name"] as $firstNameKey => $arFileDescriptions) {
            $x++;
            if ($_FILES["file"]["error"][$x] > 0) {
                echo "Error: " . $_FILES["file"]["error"][$x] . "<br>";
            } elseif (file_exists("images/". $_FILES["file"]["name"][$x])) {
                echo $_FILES["file"]["name"][$x] . " already exists. <br />";
            } else {
                move_uploaded_file($_FILES["file"]["tmp_name"][$x], "images/" . $_FILES["file"]["name"][$x]);

                echo "Stored in: " . "images/" . $_FILES["file"]["name"][$x] ."<br />";
                echo '<img style="height:150px;" src="' . './images/'. $_FILES["file"]["name"][$x] . '" /><br />';
                echo "Upload: " . $_FILES["file"]["name"][$x] . "<br />";
                echo "Type: " . $_FILES["file"]["type"][$x] . "<br />";
                echo "Size: " . ($_FILES["file"]["size"][$x] / 1024) . " kB<br />";
            }
        }
    }
于 2013-05-08T09:21:41.900 回答
-1

您如何在服务器上设置save_mode?这是一个常见的问题。尝试上传到目录只是'photos/',而不是'photos/images/',有效吗?

如果要更改save_mode

1)打开 php.ini 。vi /path to php/php.ini(替换为 php.ini 文件的路径)

2)找到以下行:safe_mode

3) 打开或关闭安全模式。safe_mode = Off 您可以通过将其更改为 On 或 Off 来激活或关闭它。安全模式 = 开

4) 通过 /etc/init.d/httpd restart 或 Kill all exiting httpd connection 重新启动 Apache web 服务器并运行 service httpd startssl

于 2013-05-08T08:22:05.543 回答