handdator

Visa fullständig version : PHP Script



klas
2008-04-27, 11:47
Hejsan!

Jag behöver ett PHP script som gör följande:

1. Ladda upp en fil, tex ett vanligt word dokument till en mapp på en server.

2. Skickar information om filen, såsom namn till en tabell i en MySQL databas

3. Hämtar tillbaka all information om filen och visar den på websidan, klickbar.

Resultatet:
Användare skall kunna ladda upp filer via webgränssnitt. När filen är uppladdad skall den synas på sidan och vara nerladdningsbar för andra användare.

Finns det någon som sitter på ett sådant script eller vet nån sida som tillhandahåller färsida PHP script. Jag har ett själv som laddar upp filen till servern men får inte scriptet att lägga upp filen på websidan.

mycket tacksam för hjälp

Snouser
2008-04-27, 15:05
Detta script laddar upp en bild till din lokala-hem-server. Den skickar sedan vidare filen till en ftp-server (oftast ett webhotell som har lite bättre upload). Innan uppladdning så byter den namn på filen till något slumpmässigt och lägger namnet i MySQL.

Jag gjorde detta scriptet för ett par mån sedan, så jag är inte helt 100 på exakt alla prefix. Undrar du något så är de bara att skriva en rad.

Uppladdningen



<!--Random är i detta fallet ett unik ID för att lokalisera filen senare-->

<form name='form' enctype='multipart/form-data' action='mark.php?post=&id=<?=$random?>' method='POST' >
<input type='file' name='file' accept='text/plain' onChange='MyFile.value=file.value'>
<input name='MyFile' type='hidden' id='MyFile' tabindex='99' size='1'>
<input type='submit' name='submit' value='Skicka'>
</form>

Bearbetning




//Kontrollerar att användaren laddar upp en fil.
if (isset ($_GET['post']) && isset($HTTP_POST_FILES['file']))
{
$random = $_GET['id'];
$ext = findexts ($HTTP_POST_FILES['file']['name']) ;
$ran = rand () ;
$ran2 = $ran.".";
$target = "/tmp/"; $target = $target . $ran2.$ext;
$filen = $ran2.$ext;

if (move_uploaded_file($HTTP_POST_FILES['file']['tmp_name'], $target))
{
echo "<p>Allt gick som det skulle</p>";
mysql_query("UPDATE pengar SET bild = '$filen' WHERE random = '$random'") or die (mysql_error());
}

else
{
echo "Någon blev fel..";
}

$source_file = "/tmp/".$ran2.$ext;
$destination_file = "/home/bilder/bilden/".$ran2.$ext;
$ftp_server = "er.domän.com";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass) or die("Filen kan inte laddas upp?");
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);

if (!$upload)
{
echo "Uppladdningen till servern misslyckades!";
}