ftp upload über html formular

Status
Nicht offen für weitere Antworten.

vouzt

Grünschnabel
hallo leute...

ich hab da ma ne frage...ich habe jetz einen eigenen ftp server.....und habe auch ein html formular um direkt von einer homepage upzuloaden.....mein problem is jetz...das dieses auch auf meinen server geamcht wird...sprich...wo binde ich die server adresse ein? hier ist der html code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<title>Untitled Document</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body class="sub">
<form action="" method="post" name="form1" id="form1">
<table width="90%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<hr noshade="noshade" /> </td>
</tr>
<tr>
<td>
<h4 class="HeaderColor">Step 1</h4>
<p class="StoryContentColor"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>
<p class="StoryContentColor">
<label for="file"> Browse:&nbsp;</label>
<input id="file" type="file" name="file" size="30" />
</p>
<h4 class="HeaderColor">Step 2</h4>
<p class="StoryContentColor"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p> <p>
<input type="submit" name="Submit2" value="Upload" />
</p> </td>
</tr>
<tr>
<td>
<hr noshade="noshade" /> </td>
</tr>
</table>
</form>
</body>
</html>


also...wo binde ich jetz die ftp adresse ein sodass die downloads auf meinen server geladen werden?
 
du scheinst hier nur den HTML-Quelltext einen PHP-Scripts rein kopiert zu haben ... die ftp verbindung baut dann dein server aus... sprich: die daten liegen in dem PHP-Script...
(direkt im HTML waere auch etwas gefaehrlich da es jeder lesen kann)
 
Im Buero hab ich ein Script welches Uploads entgegen nimmt und dann an einen FTP-Server weiter reicht.
Wenn Du willst kann ich das morgen mal posten.
 
ja sehr gerne sogar! aber wäre auch nett wenn du gleich dazu postest wo ich dann die daten meines ftp servers eingeben muss!! vielen dank im vorraus
 
Hier mal das komplette Script, ein wenig angepasst damit es was einfacher ist:
upload.php
PHP:
<?php
define('ADMIN_USER','...');
define('ADMIN_PASSWORD','...');
define('FTP_HOST','...');
define('FTP_USER','...');
define('FTP_PASSWORD','...');
if ((!empty($_SERVER['PHP_AUTH_USER'])) && (!empty($_SERVER['PHP_AUTH_PW'])) && ($_SERVER['PHP_AUTH_USER']==ADMIN_USER) && ($_SERVER['PHP_AUTH_PW']==ADMIN_PASSWORD))
	{
		$adminuser=true;
	}
else
	{
		$adminuser=false;
	}
if (isset($_GET['login']))
	{
		if ($adminuser==true)
			{
				header('Location:'.$_SERVER['PHP_SELF']);
			}
		else
			{
				header('HTTP/1.1 401 Unauthorized');
				header('WWW-Authenticate:Basic');
			}
	}
else
	{
		if ($adminuser==true)
			{
				echo '<html>';
				echo '<head><title>FTP-Upload</title></head>';
				echo '<body>';
				if (isset($_POST['upload']))
					{
						if (($_FILES['uploadfile']['error']==0) && ($_FILES['uploadfile']['size']>0) && (!empty($_FILES['uploadfile']['name'])))
							{
								require_once('ftpconnection.class.php');
								$ftp=new ftpconnection(FTP_HOST,FTP_USER,FTP_PASSWORD);
								if ($ftp->put($_FILES['uploadfile']['tmp_name'],$_FILES['uploadfile']['name']))
									{
										echo $_FILES['uploadfile']['name'].' has been uploaded succesfully.<hr>';
									}
								else
									{
										echo $_FILES['uploadfile']['name'].' could not be transfered to the FTP-server.<br>';
										echo 'Please try again later.<hr>';
									}
								unset($ftp);
							}
						else
							{
								echo $_FILES['uploadfile']['name'].' could not be uploaded.<br>';
							}
					}
				echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'" enctype="multipart/form-data">';
				echo '<input type="file" name="uploadfile">';
				echo '<br>';
				echo '<input type="submit" name="upload" value="Upload file">';
				echo '</form>';
				echo '</body>';
				echo '</html>';
			}
		else
			{
				header('Location:'.$_SERVER['PHP_SELF'].'?login');
			}
	}
?>
Oben bei den 5 Zeilen mit define() musst Du einen Admin-User und das entsprechende Passwort festlegen (wird benoetigt um hochladen zu duerfen) und darunter die FTP-Daten, den Host, den Usernamen und das Passwort, welche zum Login auf dem FTP-Server benoetigt werden.

Fuer den FTP-Zugriff setze ich uebrigens meine FTP-Klasse ein.
Diese wirst Du noch runterladen muessen.
Im verlinkten Tutorial findest Du nur die PHP5-Version, eine PHP4-Version kannst Du ueber meine PHP Class Collection finden.
 
Status
Nicht offen für weitere Antworten.
Zurück