NetworkTown.Net
Account Closed
- Impact
- 2
Hi i need a php upload script please, i need it simply explaind so i can understand it thanks need it in php quick
$resource = fopen("log/views.txt","a");
fwrite($resource,date("Y"."/"."m"."/"."d h:i:s")." - view - $_REQUEST[id] - $_SERVER[REMOTE_ADDR]\n");
fclose($resource);
Wybe said:wouldn't it better to record it in mysql?
iNod said:Try this..
PHP:<?php if($_POST[finshed] == '1') { //The directory to upload the images - Must be writable CHMOD 777 $upload_dir = "images/"; //100kb - What size do you want to allow to be uploaded $max_size = 100000; if(is_uploaded_file($_FILES['image']['tmp_name'])) { $size = $_FILES['image']['size']; if($size > $max_size) { echo "File Too Large. File must be no larger than <b>$max_size</b> bytes."; exit(); } $filename = $_FILES['image']['name']; if(file_exists($upload_dir.$filename)) { echo "Error: The file named <b>$filename</b> already exists."; exit(); } if(move_uploaded_file($_FILES['image']['tmp_name'], $upload_dir.$filename)) { echo "Your image uploaded successfully! Can be found here: <a href='/".$upload_dir.$filename."'>".$upload_dir.$filename."</a>"; exit(); } else { echo "There was a problem uploading your file. Please try again."; exit(); } } }else{ ?> <html> <head> <title>Image upload</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="finshed" value="1"> Image: <input type="file" name="image" size="20"> <input type="submit" name="submit" value="Upload"> </form> </body> </html> <?php } ?>
iNod.
Whats this? what do i name the files ectSecondVersion said:You could always...
PHP:<?php //30 seconds is the default in php.ini ini_set('max_execution_time', '30'); //2M (megabytes) is the default in php.ini ini_set('upload_max_filesize', '2M'; ?>
More settings:
http://us2.php.net/manual/en/ini.php#ini.list
More info on ini_set:
http://us2.php.net/ini_set
<html>
<head>
<title>Image upload</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
Image: <input type="file" name="image" size="20"> <input type="submit" name="submit" value="Upload">
</form>
<?php
if(isset($_POST['submit']) && $_POST['submit'] != "")
{
//The directory to upload the images - Must be writable CHMOD 777
$upload_dir = "images/";
//100kb - What size do you want to allow to be uploaded
$max_size = 100000;
if(is_uploaded_file($_FILES['image']['tmp_name']))
{
$size = $_FILES['image']['size'];
if($size > $max_size)
{
echo 'File Too Large. File must be no larger than <b>'.$max_size.'</b> bytes.';
exit;
}
$filename = $_FILES['image']['name'];
if(file_exists($upload_dir.$filename))
{
echo 'Error: The file named <b>'.$filename.'</b> already exists.';
exit;
}
if(move_uploaded_file($_FILES['image']['tmp_name'], $upload_dir.$filename))
{
echo 'Your image uploaded successfully! Can be found here: <a target="_blank" href="/'.$upload_dir.$filename.'">'.$filename.'</a>';
}
else
{
echo 'There was a problem uploading your file. Please try again.';
}
}
}
?>
</body>
</html>
SecondVersion said:As for it refreshing to "upload.php" that's the form action..anyway:
PHP:<html> <head> <title>Image upload</title> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> Image: <input type="file" name="image" size="20"> <input type="submit" name="submit" value="Upload"> </form> <?php if(isset($_POST['submit']) && $_POST['submit'] != "") { //The directory to upload the images - Must be writable CHMOD 777 $upload_dir = "images/"; //100kb - What size do you want to allow to be uploaded $max_size = 100000; if(is_uploaded_file($_FILES['image']['tmp_name'])) { $size = $_FILES['image']['size']; if($size > $max_size) { echo 'File Too Large. File must be no larger than <b>'.$max_size.'</b> bytes.'; exit; } $filename = $_FILES['image']['name']; if(file_exists($upload_dir.$filename)) { echo 'Error: The file named <b>'.$filename.'</b> already exists.'; exit; } if(move_uploaded_file($_FILES['image']['tmp_name'], $upload_dir.$filename)) { echo 'Your image uploaded successfully! Can be found here: <a target="_blank" href="/'.$upload_dir.$filename.'">'.$filename.'</a>'; } else { echo 'There was a problem uploading your file. Please try again.'; } } } ?> </body> </html>
As for it refreshing to "upload.php" that's the form action..and yes, it shows a link to the file....anyway:
PHP:<html> <head> <title>Image upload</title> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> Image: <input type="file" name="image" size="20"> <input type="submit" name="submit" value="Upload"> </form> <?php if(isset($_POST['submit']) && $_POST['submit'] != "") { //The directory to upload the images - Must be writable CHMOD 777 $upload_dir = "images/"; //100kb - What size do you want to allow to be uploaded $max_size = 100000; if(is_uploaded_file($_FILES['image']['tmp_name'])) { $size = $_FILES['image']['size']; if($size > $max_size) { echo 'File Too Large. File must be no larger than <b>'.$max_size.'</b> bytes.'; exit; } $filename = $_FILES['image']['name']; if(file_exists($upload_dir.$filename)) { echo 'Error: The file named <b>'.$filename.'</b> already exists.'; exit; } if(move_uploaded_file($_FILES['image']['tmp_name'], $upload_dir.$filename)) { echo 'Your image uploaded successfully! Can be found here: <a target="_blank" href="/'.$upload_dir.$filename.'">'.$filename.'</a>'; } else { echo 'There was a problem uploading your file. Please try again.'; } } } ?> </body> </html>
<html>
<head>
<title>Image upload</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
Image: <input type="file" name="image" size="20"> <input type="submit" name="submit" value="Upload">
</form>
<?php
if(isset($_POST['submit']) && $_POST['submit'] != "")
{
//The directory to upload the images - Must be writable CHMOD 777
$upload_dir = "images/";
//100kb - What size do you want to allow to be uploaded
$max_size = 100000;
if(is_uploaded_file($_FILES['image']['tmp_name']))
{
$size = $_FILES['image']['size'];
if($size > $max_size)
{
echo 'File Too Large. File must be no larger than <b>'.$max_size.'</b> bytes.';
exit;
}
$filename = $_FILES['image']['name'];
if(file_exists($upload_dir.$filename))
{
echo 'Error: The file named <b>'.$filename.'</b> already exists.';
exit;
}
if(move_uploaded_file($_FILES['image']['tmp_name'], $upload_dir.$filename))
{
echo 'Your image uploaded successfully!<br /><br />Preview: <br /><img src="'.$upload_dir.$filename.'" border="0"><br /><br >Link to your image: <a target="_blank" href="/'.$upload_dir.$filename.'">'.$filename.'</a>';
}
else
{
echo 'There was a problem uploading your file. Please try again.';
}
}
}
?>
</body>
</html>
SecondVersion said:PHP:<html> <head> <title>Image upload</title> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> Image: <input type="file" name="image" size="20"> <input type="submit" name="submit" value="Upload"> </form> <?php if(isset($_POST['submit']) && $_POST['submit'] != "") { //The directory to upload the images - Must be writable CHMOD 777 $upload_dir = "images/"; //100kb - What size do you want to allow to be uploaded $max_size = 100000; if(is_uploaded_file($_FILES['image']['tmp_name'])) { $size = $_FILES['image']['size']; if($size > $max_size) { echo 'File Too Large. File must be no larger than <b>'.$max_size.'</b> bytes.'; exit; } $filename = $_FILES['image']['name']; if(file_exists($upload_dir.$filename)) { echo 'Error: The file named <b>'.$filename.'</b> already exists.'; exit; } if(move_uploaded_file($_FILES['image']['tmp_name'], $upload_dir.$filename)) { echo 'Your image uploaded successfully!<br /><br />Preview: <br /><img src="'.$upload_dir.$filename.'" border="0"><br /><br >Link to your image: <a target="_blank" href="/'.$upload_dir.$filename.'">'.$filename.'</a>'; } else { echo 'There was a problem uploading your file. Please try again.'; } } } ?> </body> </html>
<html>
<head>
<title>Image upload</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
Image: <input type="file" name="image" size="20"> <input type="submit" name="submit" value="Upload">
</form>
<?php
if(isset($_POST['submit']) && $_POST['submit'] != "")
{
//The directory to upload the images - Must be writable CHMOD 777
$upload_dir = "images/";
//100kb - What size do you want to allow to be uploaded
$max_size = 100000;
if(is_uploaded_file($_FILES['image']['tmp_name']))
{
$size = $_FILES['image']['size'];
if($size > $max_size)
{
echo 'File Too Large. File must be no larger than <b>'.$max_size.'</b> bytes.';
exit;
}
$filename = $_FILES['image']['name'];
if(file_exists($upload_dir.$filename))
{
echo 'Error: The file named <b>'.$filename.'</b> already exists.';
exit;
}
if(move_uploaded_file($_FILES['image']['tmp_name'], $upload_dir.$filename))
{
echo 'Your image uploaded successfully!<br /><br />Preview: <br /><img src="'.$upload_dir.$filename'" border="0"><br /><br >Link to your image: <input type="text" value="http://www.mydomain.com/'.$upload_dir.$filename.'">';
}
else
{
echo 'There was a problem uploading your file. Please try again.';
}
}
}
?>
</body>
</html>
<?php
//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
// You may change maxsize, and allowable upload file types.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//Mmaximum file size. You may increase or decrease.
$MAX_SIZE = 2000000;
//Allowable file ext. names. you may add more extension names.
$FILE_EXTS = array('.zip','.jpg','.png','.gif','.doc');
//Allow file delete? no, if only allow upload only
$DELETABLE = true;
//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
// Do not touch the below if you are not confident.
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/************************************************************
* Setup variables
************************************************************/
$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$upload_dir = "files/";
$upload_url = $url_dir."/files/";
$message ="";
/************************************************************
* Create Upload Directory
************************************************************/
if (!is_dir("files")) {
if (!mkdir($upload_dir))
die ("upload_files directory doesn't exist and creation failed");
if (!chmod($upload_dir,0755))
die ("change permission to 755 failed.");
}
/************************************************************
* Process User's Request
************************************************************/
if ($_REQUEST[del] && $DELETABLE) {
$resource = fopen("log.txt","a");
fwrite($resource,date("Ymd h:i:s")."DELETE - $_SERVER[REMOTE_ADDR]"."$_REQUEST[del]\n");
fclose($resource);
if (strpos($_REQUEST[del],"/.")>0); //possible hacking
else if (strpos($_REQUEST[del],$upload_dir) === false); //possible hacking
else if (substr($_REQUEST[del],0,6)==$upload_dir) {
unlink($_REQUEST[del]);
print "<script>window.location.href='$url_this?message=deleted successfully'</script>";
}
}
else if ($_FILES['userfile']) {
$resource = fopen("log.txt","a");
fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]"
.$_FILES['userfile']['name']." "
.$_FILES['userfile']['type']."\n");
fclose($resource);
$file_type = $_FILES['userfile']['type'];
$file_name = $_FILES['userfile']['name'];
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));
//File Size Check
if ( $_FILES['userfile']['size'] > $MAX_SIZE)
$message = "The file size is over 2MB.";
//File Extension Check
else if (!in_array($file_ext, $FILE_EXTS))
$message = "Sorry, $file_name($file_type) is not allowed to be uploaded.";
else
$message = do_upload($upload_dir, $upload_url);
print "<script>window.location.href='$url_this?message=$message'</script>";
}
else if (!$_FILES['userfile']);
else
$message = "Invalid File Specified.";
/************************************************************
* List Files
************************************************************/
$handle=opendir($upload_dir);
$filelist = "";
while ($file = readdir($handle)) {
if(!is_dir($file) && !is_link($file)) {
$filelist .= "<a href='$upload_dir$file'>".$file."</a>";
if ($DELETABLE)
$filelist .= " <a href='?del=$upload_dir".urlencode($file)."' title='delete'>x</a>";
$filelist .= "<sub><small><small><font color=grey> ".date("d-m H:i", filemtime($upload_dir.$file))
."</font></small></small></sub>";
$filelist .="<br>";
}
}
function do_upload($upload_dir, $upload_url) {
$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_name = str_replace("\\","",$file_name);
$file_name = str_replace("'","",$file_name);
$file_path = $upload_dir.$file_name;
//File Name Check
if ( $file_name =="") {
$message = "Invalid File Name Specified";
return $message;
}
$result = move_uploaded_file($temp_name, $file_path);
if (!chmod($file_path,0777))
$message = "change permission to 777 failed.";
else
$message = ($result)?"$file_name uploaded successfully." :
"Somthing is wrong with uploading a file.";
return $message;
}
?>
<center>
<font color=red><?=$_REQUEST[message]?></font>
<br>
<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
Upload File <input type="file" id="userfile" name="userfile">
<input type="submit" name="upload" value="Upload">
</form>
<br><b>My Files</b>
<hr width=70%>
<?=$filelist?>
<hr width=70%>
<small><sup>Developed By
<a style="text-decoration:none" href="http://www.namepros.com">namepros.com</a>
</sup></small>
</center>