我是编程新手,我需要php的帮助。
我可以使用这两个php程序上传文件。(单独使用它们很好) 我无法弄清楚如何将它们组合成一个, 这样一个新程序可以验证,重命名和POST这两张图片。
我还想要一个将要检索的程序 来自客户登录会话的用户名和电子邮件地址 并验证数据进入表单。
我非常感谢你的帮助。谢谢
这些是我正在使用的PHP
//This php validates and posts file to a folder "file_upload"
<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 100000)
&& in_array($extension, $allowedExts)) {
if ($_FILES["file"]["error"] > 0) {
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
} else {
//echo "Upload: " . $_FILES["file"]["name"] . "<br>";
//echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
//echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"])) {
echo $_FILES["file"]["name"] . " already exists. ";
} else {
move_uploaded_file($_FILES["file"]["tmp_name"],
"file_upload/" . $_FILES["file"]["name"]);
//echo "Stored in: " . "file_upload/" . $_FILES["file"]["name"];
}
}
} else {
echo "Invalid file";
}
?>
//These Php works fine together to rename and post files to separate folders
//when the same user name is manually entered in the form
<?php
$destDir = 'rename_fotos/'; //can be any directory on your server,
$renamedFilename = $_POST['numbera']."-Foto1";
//keep the same file extension if uploaded file has it
$renamedFilename .= ($pos = strrpos($_FILES['file']['name'], '.')) === false ? '' : substr($_FILES['file']['name'], $pos);
move_uploaded_file($_FILES["file"]["tmp_name"], $destDir . DIRECTORY_SEPARATOR . $renamedFilename);
echo "Foto File Uploaded <b>(code need upgrade!)</b>";
?>
<?php
$destDir = 'rename_fotos2/'; //can be any directory on your server,`
$renamedFilename = $_POST['number']."-Foto2";
//keep the same file extension if uploaded file has it
$renamedFilename .= ($pos = strrpos($_FILES['file2']['name'], '.')) === false ? '' : substr($_FILES['file2']['name'], $pos);
move_uploaded_file($_FILES["file2"]["tmp_name"], $destDir . DIRECTORY_SEPARATOR . $renamedFilename);
echo "Foto File Uploaded <b>(code need upgrade!)</b>";
?>
答案 0 :(得分:0)
尝试从减去逻辑开始。也许看着你可以更好地工作。你不想做什么?它就是这样......
if (is_valid_upload_image($_FILES['file']) && is_valid_number($_POST['number'])) {
$moved_file = move_to_definetely_local($_FILES['file']);
rename_file_with_postname($moved_file, $POST['number']);
}
必须创建所有functions
/ methods
,但现在,凭借头脑中的逻辑,您可以更有效地处理每一项。