当我上传/复制图像时,它会失败,当我点击刷新/重新发送它时,它会起作用

时间:2009-05-30 02:04:52

标签: php image upload copy

点亮这样,我正在处理一个项目的一小部分,我正在上传一张图片然后复制它以便之后重新调整大小。发生的事情是,当我点击提交上传时,它会失败,但如果我点击刷新/重新发送信息就会成功......

    $uploadFile = $uploadDir . $imageName;
    $imageName2 = $front[0]."_large\.".$front[1];
    $uploadFile2 = $uploadDir . $imageName2;

        if(move_uploaded_file($imageTemp,$uploadFile))
       {
           if(!copy($uploadFile, $uploadFile2)) die("Can't copy $uploadFile2");
           }

失败时输出的内容是“无法复制”因此,由于某些原因,在我点击刷新之前,它没有获取要复制的文件的名称?

列维

2 个答案:

答案 0 :(得分:1)

你的意思是逃避$ front [0]中的点。“_ large \。”。$ front [1]; 你在想一个正则表达式吗?如果不是这可能是试图保存到不存在的目录。

你有没有尝试上传另一个文件,你可以print_r()$ _FILES数组吗?在确定为什么$ _FILES数组为空并且我的表单标签中没有多部分表单数据或图像有已损坏,上传流由php剪切。

答案 1 :(得分:0)

以下工作正常;

HTML文件:

<!DOCTYPE html>
<html>
<title>Stack HTML</title>
<link rel="stylesheet" href="../../repo/css/bootstrap.css" type="text/css" />
<script src="https://code.jquery.com/jquery-2.1.3.js"></script>
<head>
</head>
<body>
    <div class="container">
        <form method="post" action="resize.php" enctype="multipart/form-data">
            <input type="file" name="image" />
            <input type="submit" name="add" value="Add" />
        </form>
    </div>
</body>
</html>

resize.php

<?php
    $uploadDir = 'uploads/';
    $uploadLargeDir = 'uploads/large/';

    $imageName = $_FILES['image']['name'];
    $imageTemp = $_FILES['image']['tmp_name'];
    $uploadFile = $uploadDir . $imageName;


    if(move_uploaded_file($imageTemp,$uploadFile)) {
        $front = explode('.', $imageName);
        $imageName2 = $front[0]."_large.".$front[1];
        $uploadFile2 = $uploadLargeDir . $imageName;
         if(!copy($uploadFile, $uploadFile2)) {
            die("Can't copy $uploadFile2");
         } else {
            die('Levi! Success');
         }
    }
?>