上传的图像不在图像文件夹中

时间:2014-05-23 12:40:29

标签: php mysql

我刚刚制作了一个文件上传代码,我想知道为什么文件上传不起作用?我检查了localhost中我的图像文件夹的权限,这似乎没问题。我不知道问题究竟在哪里。有什么想法吗?

<?php 

require "config.php";
require "functions.php";
require "database.php";

if(isset($_FILES['fupload'])){
    $filename = addslashes($_FILES['fupload']['name']);
    $source = $_FILES['fupload']['tmp_name'];
    $target = $path_to_image_directory . $filename;
    $description = addslashes($_POST['description']);
    $src = $path_to_image_directory . $filename;
    $tn_src = $path_to_thumbs_directory . $filename;

    if (strlen($_POST['description'])<4)
        $error['description'] = '<p class="alert">Please enter a description for your photo</p>';
    if($filename == '' || !preg_match('/[.](jpg)|(gif)|(png)|(jpeg)$/', $filename)) 
        $error['no_file'] = '<p class="alert">Please select an image, dummy! </p>';
    if (!isset($error)){
        move_uploaded_file($source, $target);

        $q = "INSERT into photo(description, src, tn_src)VALUES('$description', '$src','$tn_src')";
        $result = $mysqli->query($q) or die (mysqli_error($myqli));

        if ($result) {
            echo "Succes! Your file has been uploaded";
        }
        createThumbnail($filename);
    }
}
?><!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Upload</title>
    <link rel="stylesheet" href="css/styles.css">
</head>
<body>
    <h1>My photos</h1>

    <ul><?php getPhotos(); ?></ul>
    <h2>Upload a photo</h2>

    <form enctype="multipart/form-data" action="index.php" method="post">
        <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
        <input type="file" name="fupload" /><br/>
        <textarea name="description" id="description" cols="50" rows="6"></textarea><br/>
        <input type="submit" value="Upload photo" name="submit" />
    </form>

    <?php
    if (isset($error["description"])) {
        echo $error["description"];
    }

    if (isset($error["no_file"])) {
        echo $error["no_file"];
    }

    ?>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

请确保您在$ path_to_thumbs_directory中添加了目录分隔符。 而且你不需要在$ filename中使用addslashes。