fixed an autoindex issue, working on uploading files
This commit is contained in:
@@ -92,7 +92,7 @@ void Client::parse_request_headers(std::vector<ServerConfig> &servers)
|
||||
_parse_request_fields();
|
||||
|
||||
// DEBUG
|
||||
//print_client("headers");
|
||||
print_client("headers");
|
||||
|
||||
if (status)
|
||||
return;
|
||||
|
||||
64
srcs/cgi-bin/upload_file.php
Normal file
64
srcs/cgi-bin/upload_file.php
Normal file
@@ -0,0 +1,64 @@
|
||||
#! /bin/bash/php
|
||||
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
// $FileName=$_FILES['myFile']['filename'];
|
||||
# $TmpName=$_FILES['myFile']['tmp_name'];
|
||||
# move_uploaded_file($TmpName, $FileName);
|
||||
# echo("File was uploaded successfully!");
|
||||
|
||||
// this part needs to be grabed from POST uri
|
||||
//$target_dir = "./www/uploaded/";
|
||||
$target_dir = $_POST["upload_dir"];
|
||||
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
|
||||
$uploadOk = 1;
|
||||
$fileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
|
||||
//$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
|
||||
|
||||
// Check if image file is a actual image or fake image
|
||||
//if(isset($_POST["submit"])) {
|
||||
// $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
|
||||
// if($check !== false) {
|
||||
// echo "File is an image - " . $check["mime"] . ".";
|
||||
// $uploadOk = 1;
|
||||
// } else {
|
||||
// echo "File is not an image.";
|
||||
// $uploadOk = 0;
|
||||
// }
|
||||
//}
|
||||
|
||||
// Check if file already exists
|
||||
if (file_exists($target_file)) {
|
||||
echo "Sorry, file already exists.";
|
||||
$uploadOk = 0;
|
||||
}
|
||||
|
||||
// Check file size
|
||||
if ($_FILES["fileToUpload"]["size"] > 500000) {
|
||||
echo "Sorry, your file is too large.";
|
||||
$uploadOk = 0;
|
||||
}
|
||||
|
||||
// Allow certain file formats
|
||||
//if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
|
||||
//&& $imageFileType != "gif" ) {
|
||||
// echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
|
||||
// $uploadOk = 0;
|
||||
//}
|
||||
|
||||
// Check if $uploadOk is set to 0 by an error
|
||||
if ($uploadOk == 0) {
|
||||
echo "Sorry, your file was not uploaded.";
|
||||
// if everything is ok, try to upload file
|
||||
} else {
|
||||
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
|
||||
echo "The file ". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " has been uploaded.";
|
||||
} else {
|
||||
echo "Sorry, there was an error uploading your file.";
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
@@ -105,11 +105,15 @@ void Webserv::_autoindex(Client *client, const std::string &path)
|
||||
{
|
||||
std::cout << "made it to _autoindex\n";
|
||||
|
||||
// std::cout << "client target: " << client->get_rq_target() << '\n';
|
||||
|
||||
|
||||
|
||||
std::string dir_list;
|
||||
DIR *dir;
|
||||
struct dirent *ent;
|
||||
|
||||
std::cout << "location root: " << client->assigned_location->root << " location path: "
|
||||
// std::cout << "location root: " << client->assigned_location->root << " location path: "
|
||||
<< client->assigned_location->path << '\n';
|
||||
|
||||
std::cout << "Path in auto is: " << path << '\n';
|
||||
@@ -123,11 +127,13 @@ void Webserv::_autoindex(Client *client, const std::string &path)
|
||||
/* print all the files and directories within directory */
|
||||
while ((ent = readdir (dir)) != NULL)
|
||||
{
|
||||
std::cout << "ent: " << ent->d_name << '\n';
|
||||
// std::cout << "ent: " << ent->d_name << '\n';
|
||||
if (strcmp(".", ent->d_name) == 0)
|
||||
continue ;
|
||||
dir_list.append("<a href=\"");
|
||||
dir_list.append(client->assigned_location->path + "/");
|
||||
dir_list.append(client->get_rq_target());
|
||||
if (dir_list[dir_list.size() - 1] != '/')
|
||||
dir_list.push_back('/');
|
||||
dir_list.append(ent->d_name);
|
||||
dir_list.append("\">");
|
||||
dir_list.append(ent->d_name);
|
||||
|
||||
@@ -52,7 +52,7 @@ int Webserv::_read_request(Client *client)
|
||||
}
|
||||
client->raw_request.append(buf, ret);
|
||||
|
||||
print_special(client->raw_request);
|
||||
// print_special(client->raw_request);
|
||||
|
||||
if (!client->header_complete)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user