Jump to content

Recommended Posts

ok i have a image uploading script here, it works fine but theres one thing im unhappy with

 

when i first downloaded it it had 1 working one, and the rest examples which you basically have to put together yourself with the sample code (doesen't work without adding missing coding), i have done all that then i took the time to add a random string prefix, im new at php so it took me awhile to work out which strings would work in the right area.

 

now this is what i need help with, when it uploads it has two options, download and remove, these both work fine, but on the file uploader that does work it has "file uploaded to "http://site.com/image.png" the example of course did not work (had loading bar working, and etc but didn't upload or have the feature i just mentioned) and the coder of the script used javascript and inner html for the file uploaded.... etc, because it uploads without refreshing, only thing is i cant seem to get it to work with the new random string i put in, i tried to recreate one with the same type of thing they used for the filename but it didn't work

 

well here is the code, hope you can help.

 

 

image upload handler

<?php require_once "phpuploader/include_phpuploader.php" ?>
<?php

$uploader=new PhpUploader();

if(@$_GET["download"])
{
$fileguid=$_GET["download"];
$mvcfile=$uploader->GetUploadedFile($fileguid);
header("Content-Type: application/oct-stream");
header("Content-Disposition: attachment; filename=\"" . $mvcfile->FileName . "\"");
readfile($mvcfile->FilePath);
}

if(@$_POST["delete"])
{
$fileguid=$_POST["delete"];
$mvcfile=$uploader->GetUploadedFile($fileguid);
unlink($mvcfile->FilePath);
echo("OK");
}

if(@$_POST["guidlist"])
{
$guidarray=explode("/",$_POST["guidlist"]);

//OUTPUT JSON

echo("[");
$count=0;
foreach($guidarray as $fileguid)
{
	$mvcfile=$uploader->GetUploadedFile($fileguid);
	if(!$mvcfile)
		continue;

	//process the file here , move to some where
	//rename(...)	

	if($count>0)
		echo(",");
	echo("{");
	echo("FileGuid:'");echo($mvcfile->FileGuid);echo("'");
	echo(",");
	echo("FileSize:'");echo($mvcfile->FileSize);echo("'");
	echo(",");
	echo("FileName:'");echo($mvcfile->FileName);echo("'");
	echo("}");
	$count++;
}
echo("]");
}


//USER CODE:
$rand = substr(md5(microtime()),rand(0,26),10);
$targetfilepath= 'savefiles/' . $rand->rand . $mvcfile->FileName;
if( is_file ($targetfilepath) )
unlink($targetfilepath);
$mvcfile->MoveTo( $targetfilepath );


exit(200);

?>

 

image upload(with form to choose file)

<?php require_once "phpuploader/include_phpuploader.php" ?>
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
	Ajax - Build attachments table
</title>
<link href="demo.css" rel="stylesheet" type="text/css" />

<script type="text/javascript">
	var handlerurl='ajax-attachments-handler.php'

	function CreateAjaxRequest()
	{
		var xh;
		if (window.XMLHttpRequest)
			xh = new window.XMLHttpRequest();
		else
			xh = new ActiveXObject("Microsoft.XMLHTTP");

		xh.open("POST", handlerurl, false, null, null);
		xh.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
		return xh;
	}
</script>
<script type="text/javascript">

var fileArray=[];

function ShowAttachmentsTable()
{
	var table = document.getElementById("filelist");
	while(table.firstChild)table.removeChild(table.firstChild);

	AppendToFileList(fileArray);
}
function AppendToFileList(list)
{
	var table = document.getElementById("filelist");

	for (var i = 0; i < list.length; i++)
	{
		var item = list[i];
		var row=table.insertRow(-1);
		row.setAttribute("fileguid",item.FileGuid);
		row.setAttribute("filename",item.FileName);
		var td1=row.insertCell(-1);
		td1.innerHTML="<img src='phpuploader/resources/circle.png' border='0'/>";
		var td2=row.insertCell(-1);
		td2.innerHTML=item.FileName;
		var td4=row.insertCell(-1);
		td4.innerHTML="[<a href='"+handlerurl+"?download="+item.FileGuid+"'>download</a>]";
		var td4=row.insertCell(-1);
		td4.innerHTML="[<a href='javascript:void(0)' onclick='Attachment_Remove(this)'>remove</a>]";
	}
}

function Attachment_FindRow(element)
{
	while(true)
	{
		if(element.nodeName=="TR")
			return element;
		element=element.parentNode;
	}
}

function Attachment_Remove(link)
{
	var row=Attachment_FindRow(link);
	if(!confirm("Are you sure you want to delete '"+row.getAttribute("filename")+"'?"))
		return;

	var guid=row.getAttribute("fileguid");

	var xh=CreateAjaxRequest();
	xh.send("delete=" + guid);

	var table = document.getElementById("filelist");
	table.deleteRow(row.rowIndex);

	for(var i=0;i<fileArray.length;i++)
	{
		if(fileArray[i].FileGuid==guid)
		{
			fileArray.splice(i,1);
			break;
		}
	}
}

function CuteWebUI_AjaxUploader_OnPostback()
{
	var uploader = document.getElementById("myuploader");
	var guidlist = uploader.value;

	var xh=CreateAjaxRequest();
	xh.send("guidlist=" + guidlist);

	//call uploader to clear the client state
	uploader.reset();

	if (xh.status != 200)
	{
		alert("http error " + xh.status);
		setTimeout(function() { document.write(xh.responseText); }, 10);
		return;
	}

	var list = eval(xh.responseText); //get JSON objects

	fileArray=fileArray.concat(list);

	AppendToFileList(list);
}

function ShowFiles()
{
	var msgs=[];
	for(var i=0;i<fileArray.length;i++)
	{
		msgs.push(fileArray[i].FileName);
	}
	alert(msgs.join("\r\n"));
}

</script>
</head>
<body>
<div class="demo">
        <h2>Building attachment table (AJAX)</h2>
	<p>This sample demonstrates how to build your own attachment table.</p>
	    
			<?php

			$uploader=new PhpUploader();
			$uploader->MaxSizeKB=10240;
			$uploader->Name="myuploader";
			$uploader->MultipleFilesUpload=true;
			$uploader->InsertText="Select multiple files (Max 10M)";
			$uploader->AllowedFileExtensions="*.jpg,*.png,*.gif,*.bmp,*.txt,*.zip,*.rar";	
	        				
			$uploader->Render();

			?>

		<br/><br/>

		<table id="filelist" style='border-collapse: collapse' class='Grid' border='0' cellspacing='0' cellpadding='2'>
		</table>

		<br/><br/>

		<button onclick="ShowFiles()">Show files</button>

</div>

<script type='text/javascript'>
//this is to show the header..
ShowAttachmentsTable();
</script>
	<script type='text/javascript'>
function CuteWebUI_AjaxUploader_OnTaskComplete(task)
{
	var div=document.createElement("DIV");
	var link=document.createElement("A");
	link.setAttribute("href","savefiles/"+task.rand);
	link.innerHTML="You have uploaded file : savefiles/"+task.rand;
	link.target="_blank";
	div.appendChild(link);
	document.body.appendChild(div);
}
</script>
</body>
</html>

 

and here is the phpuploader.php file just in case

 

18324_.php

Link to comment
https://forums.phpfreaks.com/topic/262286-image-uploading-script/
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.