Koozali.org: home of the SME Server
Obsolete Releases => SME 8.x Contribs => Topic started by: kimjessen2 on March 06, 2015, 10:13:40 AM
-
hello!
I am trying to create a page where I need to be able to save files on the server.
I have tried many different tuts. but they work on other commercial vebhoteller and it works.
but I can not get it to work on my server which is an SME 8.1
is there anyone who can walk me through what I need to do to get the server to receive files from the upload page.
Kim Jessen
-
hi, welcome here
this is not a striclty SME related question, anyway..
any web page, in any language (php, perl etc) will work as long as it has the rigth permission
can you give us more details?
-
Hi many thanks.
I had the same understanding but after trying several times on other web hotels with success, I came just to conclusion that it had to be something with my Setting Up on the server.
Here is the setup I have most successfully.
it is a html form and php receiver.
start.php
<!DOCTYPE html>
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
upload.php
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = 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 ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
the 2 files here works on web hotel ONE.COM no problems.
but first error coming on my server is
"File is not an image.Sorry, your file was not uploaded"
what is the difference. when it works elsewhere, it must be something with the setup of the server.
hoping for a little understanding when I have asked other places I get the message "We do not know the SME server, we can not help it should work"
It is somewhat frustrating.
Kim Jessen
-
where did you put these files?
in a ibay? where?
-
Hello!
In a Ibay yes.
the files are in HTML folder, where I created a folder "uploads"
completely as I have done on ONE.COM
Kim Jessen
-
ok..
is php enabled fot that ibay?
are perms correct?
did you check /var/log/messages and /var/log/http/* logs for errors?
-
hello!
YesPHP is used in this Ibay already
with great success.
the other things I have not looked at.
I do this on the server manager right?
Kim Jessen
-
you'd better login on your server via ssh and use CLI
-
hello!
ok there you lost me!
The server is right here beside me.
Can not I just see the 2 files in terminal mode with "vim"
-
php uploads are placed into the php "tmp" folder during upload, then moved to your intended destination.
The default value for the php tmp folder is /tmp, but access to this location is denied by default.
Here are some links that might help:
http://wiki.contribs.org/PHP#Modifying_the_PHPBaseDir_setting_for_an_ibay
http://forums.contribs.org/index.php/topic,48816.msg243040.html#msg243040
-
Hello!
Thank you.
There are definitely some things I need to do before it will work.
Kim Jessen
-
Hello again
Now I have made the change.
that tmp directory, which is written about that i must create myself ?
But where. in the HTML folder?
Kim Jessen
-
Please learn the tools you are trying to use. Read the manual. In that manual you will learn that openbasedir restricions are in effect.
-
kimjessen2
that tmp directory .......that i must create myself ?
But where. in the HTML folder?
It can be wherever you want it to be, but you need to specify that location when setting the open base dir setting.
Bug 7011 comment 52 & comment 43 indicate the tmp dir would be at the same level as .../html .../cgi-bin & .../files
Quoting comment 43
/bin/mkdir -p /home/e-smith/files/ibays/$folder_ibay/tmp
/bin/chmod -R 700 /home/e-smith/files/ibays/$folder_ibay/tmp /bin/chown -R www:www /home/e-smith/files/ibays/$folder_ibay/tmp