求大神帮看下这段代码 ,上传图片成功,但是找不到图片?

php中文网
发布: 2016-06-23 13:59:19
原创
1151人浏览过

<!DOCTYPE html><html>        <head>                <title>Test the input</title>        </head>        <body>                <form action="upload.php" method="post" enctype="multipart/form-data">                        <label for="picture">PICTURE:</label><br />                        <input type="file" name="picture" id="picture"/><br/>                        <input type="submit" name="submit" value="submit"/>                </form>        </body></html>
登录后复制

<?php        $photo_dir='/var/www/images/';        if(!is_dir($photo_dir)||is_writeable($photo_dir)){                die('No dir exist or can write');        }        if($_FILES['picture']['error']>0){                echo 'Error:'.$_FILES['picture']['error'].'<br/>';        }        else{                echo "Upload:".$_FILES['picture']['name'].'<br />';                echo "Type:".$_FILES['picture']['type'].'<br />';                echo "Size:".($_FILES['picture']['size']/1024).'kb<br/>';                echo "Stred in:".$_FILES['picture']['tmp_name'].'<br />';                if(file_exists('/var/www/images/'.$_FILES['picture']['name']))                {                        echo $_FILES['picture']['name'].'already exists';                }                else                {                        $gpy=move_uploaded_file($_FILES['picture']['tmp_name'],'/var/www/images/'.$_FILES['picture']['name']);                        if(gpy)                        {                                echo 'Succed';                        }                        echo 'Stored in:'.'images/'.$_FILES['picture']['name'];                }        }?>
登录后复制

这段代码 竟然显示上传成功 ,但是我设置的文件路径中找不到上传的文件?

改图鸭AI图片生成
改图鸭AI图片生成

改图鸭AI图片生成

改图鸭AI图片生成 30
查看详情 改图鸭AI图片生成

回复讨论(解决方案)

/var/www/images/ 这里没有你上传的图片?

目录权限问题,images文件夹给www-data写权限了么

仔细检查下那个路径下确实没有上传的文件吗?

另外,打开错误提示功能,看上传过程中是否有报错信息。

贴出上传后显示的内容

目录权限问题,images文件夹给www-data写权限了么
请问你指的权限是什么?我对/var/www/image 设置 对web也就是我 可读可写 这样对么?

仔细检查下那个路径下确实没有上传的文件吗?

另外,打开错误提示功能,看上传过程中是否有报错信息。
没有,错误提示功能如何打开?我刚学的php


目录权限问题,images文件夹给www-data写权限了么
请问你指的权限是什么?我对/var/www/image 设置 对web也就是我 可读可写 这样对么?

你的 images 目录没有普通用户写权限
你可查看提交后的页面内容,肯定是没有 Succed 字样的



目录权限问题,images文件夹给www-data写权限了么
请问你指的权限是什么?我对/var/www/image 设置 对web也就是我 可读可写 这样对么?

web是你自己创建的用户,apache的用户名是www-data

你的 images 目录没有普通用户写权限
你可查看提交后的页面内容,肯定是没有 Succed 字样的
提交文件后显示这样,确实是成功....

普通用户可写?这个要怎么改?




目录权限问题,images文件夹给www-data写权限了么
请问你指的权限是什么?我对/var/www/image 设置 对web也就是我 可读可写 这样对么?

web是你自己创建的用户,apache的用户名是www-data
apache 用户可以修改么? 我是自己用ubantu linux搭建的环境,代码也在本地运行

if(gpy)  
明显错了。
应该是if( $gpy)
所以你的判断错了,进入if内部也是正常的。
打开php的所有提示。应该是images没有写入权限。

if(gpy)  
明显错了。
应该是if( $gpy)
所以你的判断错了,进入if内部也是正常的。
打开php的所有提示。应该是images没有写入权限。

现在我把权限修改了 ,文件路径开始报错了?文件路径应该怎么写?





目录权限问题,images文件夹给www-data写权限了么
请问你指的权限是什么?我对/var/www/image 设置 对web也就是我 可读可写 这样对么?

web是你自己创建的用户,apache的用户名是www-data
apache 用户可以修改么? 我是自己用ubantu linux搭建的环境,代码也在本地运行
不可以,为什么要改呢,你给images目录附www-data写权限不就完了吗

错误提示贴出来。
另外,又瞥了一眼你的代码:
 if(!is_dir($photo_dir)||is_writeable($photo_dir))
这个是逻辑错误吧。
应该是 if(!is_dir($photo_dir)|| !is_writeable($photo_dir))

错误提示贴出来。
另外,又瞥了一眼你的代码:
 if(!is_dir($photo_dir)||is_writeable($photo_dir))
这个是逻辑错误吧。
应该是 if(!is_dir($photo_dir)|| !is_writeable($photo_dir))
哈哈,太马虎了,但是我把前面的if判断全部删去,希望通过$_FILES['picture']['error']提示错误信息,但依然是0,也就是不存在可写入问题






目录权限问题,images文件夹给www-data写权限了么
请问你指的权限是什么?我对/var/www/image 设置 对web也就是我 可读可写 这样对么?

web是你自己创建的用户,apache的用户名是www-data
apache 用户可以修改么? 我是自己用ubantu linux搭建的环境,代码也在本地运行
不可以,为什么要改呢,你给images目录附www-data写权限不就完了吗
点错了,弄成丢砖了。。。  但是用$_FILES['name']['error']应该是能提示错误是否由都写引起,但是这个提示依然是0,也就是成功,这是怎么回事


错误提示贴出来。
另外,又瞥了一眼你的代码:
 if(!is_dir($photo_dir)||is_writeable($photo_dir))
这个是逻辑错误吧。
应该是 if(!is_dir($photo_dir)|| !is_writeable($photo_dir))
哈哈,太马虎了,但是我把前面的if判断全部删去,希望通过$_FILES['picture']['error']提示错误信息,但依然是0,也就是不存在可写入问题
$_FILES['picture']['error']给出的是上传时的错误,现在你的问题是上传成功,move_uploaded_file的过程失败。

        $photo_dir='images/';
        if(!file_exists($photo_dir))
        {
                mkdir($photo_dir);
        }

        if($_FILES['picture']['error']>0){
                echo 'Error:'.$_FILES['picture']['error'].'
';
        }
        else{
                echo "Upload:".$_FILES['picture']['name'].'
';
                echo "Type:".$_FILES['picture']['type'].'
';
                echo "Size:".($_FILES['picture']['size']/1024).'kb
';
                echo "Stred in:".$_FILES['picture']['tmp_name'].'
';
                echo "Error:".$_FILES['picture']['error'].'
';
                if(file_exists('/var/www/images/'.$_FILES['picture']['name']))
                {
                        echo $_FILES['picture']['name'].'already exists';
                }
                else
                {
                        $gpy=move_uploaded_file($_FILES['picture']['tmp_name'],$photo_dir.$_FILES['picture']['name']);
                        if($gpy)
                        {
                                echo 'Succed'.'
';
                        }
                        echo 'Stored in:'.'/var/www/images/'.$_FILES['picture']['name'];
                        echo '求大神帮看下这段代码 ,上传图片成功,但是找不到图片?';
                }
        }

?>



错误提示贴出来。
另外,又瞥了一眼你的代码:
 if(!is_dir($photo_dir)||is_writeable($photo_dir))
这个是逻辑错误吧。
应该是 if(!is_dir($photo_dir)|| !is_writeable($photo_dir))
哈哈,太马虎了,但是我把前面的if判断全部删去,希望通过$_FILES['picture']['error']提示错误信息,但依然是0,也就是不存在可写入问题
$_FILES['picture']['error']给出的是上传时的错误,现在你的问题是上传成功,move_uploaded_file的过程失败。

终于搞定了,
  if(!file_exists($photo_dir))
        {
                mkdir($photo_dir);
        }
是参考别人的代码 ,添加了这行代码,可是很奇怪,并没有新建images文件,以前上传的文件也突然显示出来了。。。

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号