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
PHP-kod:
<!--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
PHP-kod:
//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!";
}