首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用外部php文件查看xampp中的图像?

如何使用外部php文件查看xampp中的图像?
EN

Stack Overflow用户
提问于 2016-08-05 14:29:26
回答 1查看 1.2K关注 0票数 0

因此,我从web服务器获取一个web项目,并在XAMPP中使用它。在原始代码中,用户选择要上载的文件。在提交文件时,将文件移动到公共html文件夹之外的上载文件夹,然后用文件名更新数据库。然后使用select语句从数据库中获取文件名。然后,我使用php包含文件来查看img标记中的图像,其中包含数据库中的文件名。

我在项目文件夹中创建了一个上传文件夹来存储图像(就像web服务器中的上传文件夹一样),并分别更改了文件路径。

所以我的问题是,图像没有显示,其他一切都正常,直到我找到读取图像的图像文件,我不知道为什么。我尝试回显$image变量以查看路径,但它也没有显示。因此,我认为这是图像文件本身,但不能确定。不知道从这里往哪里走。

请仔细阅读。

档案结构:

项目文件夹

-includes

-pagelets

-upload

页码:

代码语言:javascript
运行
复制
<?php
//Upload Image
if (isset($_POST['uploadImg'])) {
    if (is_uploaded_file($_FILES['image']['tmp_name'])) {
        if (move_uploaded_file($_FILES['image']['tmp_name'], "upload/{$_FILES['image']['name']}")) {
            echo "File Uploaded";
        }else{
            echo "File not uploaded";
            $i = '';
        }
        $i = $_FILES['image']['name'];
    }else{
        $i ='';
    }

    //Update database
    $query = "UPDATE Employees SET Photo = '$i' WHERE EmployeeID = {$_SESSION['EmpId']}";
    $result = @mysqli_query($dbc, $query);//Run the query
}
$query = "SELECT EmployeeID AS id, Photo AS photo, CONCAT(FirstName, ' ', LastName) AS name, PhoneNumber AS phone, Email AS email FROM Employees WHERE EmployeeID = '{$_SESSION['EmpId']}'";
$infoResult = @mysqli_query($dbc, $query);//Run the query
if($infoResult){
    while($row = mysqli_fetch_array($infoResult, MYSQLI_ASSOC)){
?>
<div id="profile-pic">
        <?php
            echo "<img src=\"includes/view-image.inc.php?file={$row['photo']}\" alt=\"{$row['photo']}\" />";
        ?>
        <form name="uploadForm" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>?pagelet=Dashboard" method="post" enctype="multipart/form-data">
            <input type="file" name="image">

            <input type="submit" name="uploadImg" value="submit">
        </form>
    </div>
<?php
    }
}
?>

包括档案:

代码语言:javascript
运行
复制
<?php
$path = "/upload/"; //directory outside public_html on the server
$file = ($_GET['file']);
$image = $path.$file;
header("Content-Type: image/jpg");
@readfile($image);
?> 
EN

回答 1

Stack Overflow用户

发布于 2016-08-05 14:36:30

在上传文件时,如果文件是可写的,则可以在任何地方处理任何文件夹。因为上传过程是服务器端的。但是,当您想要访问文件以在web上显示它时,您应该使用public_html内部的路径。

因此,将上传文件夹移动到public_html文件夹中,并记录上传过程的路径。那么,您的代码运行良好。

例如,目录应该如下所示:

public_html/ -上载/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38791712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档