点亮这样,我正在处理一个项目的一小部分,我正在上传一张图片然后复制它以便之后重新调整大小。发生的事情是,当我点击提交上传时,它会失败,但如果我点击刷新/重新发送信息就会成功......
$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");
}
失败时输出的内容是“无法复制”因此,由于某些原因,在我点击刷新之前,它没有获取要复制的文件的名称?
列维
答案 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');
}
}
?>