WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » ftp uploadskript in php » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

ftp uploadskript in php
von SHe
ach so wird esgeschrieben ich habe schon ne weile nachgedacht wie das geschrieben wird ich sollte doch die Schulung mir leisten grml ^^ sry

Die Funktion geht aber erster ab PHP Version 4.0.3 ^^ Muss man bei einen Anbieter achten
PHP Version 5 ist immernoch die beste die es gibt *g*

SafeMode OK
OpenBaseDir ist meistens auch in den einen Ordner ( phptmp ) so ist es bei mir.

Die move_uploaded_file wird dahin geschoben und wenn es oben ist wird es dann zu den realen pfad "geschoben"
von subjective
Nein für hochgeladeen Dateien gibts es die spezielle Funktion move_uploaded_file(). Die Funktion copy() ist dafür nicht geeignet, da sie u.a. den Beschränkungen von SafeMode und OpenBaseDir unterliegt.
von SHe
^^ jo

über die Copy Funktion

alles machtbar ist ja auch PHP *g*
von subjective
Bist du sicher das nicht ein einfacher HTTP-Upload reichen würde? (Den muss dieses Script übrigens auch machen)
von SHe
lugau45 schrieb am 09.10.2005 18:24
nee muss gehen ist space von 1und1


Einige Fragen bleiben noch offen welche Anbindung zum Internet hast du ?
Hast du Server Hosting oder WebHosting ( Wegen PHP Config )

Es ist nicht Schwer selber ein Upload Script zubauen und dann auf deine Seite einbinden ^^

MfG
SHe
von lugau45
nee muss gehen ist space von 1und1
von Netbuster
Also ich habe mir deinen Code nicht ganz angeguckt, aber schon am Anfang steht die maxUploadsiz und die ist 5mb, das kann schonmal nicht das Problem.
Aber kann es vielleicht sein das bei deinem Webspace Dateien die größer als 1,2mb nicht hochgeladen werden dürfen?
von lugau45
ich habe im netz ein ftp uploadskript in php gefunden was man kostenlos nutzen darf. es geht auch alles besten, nur ein problem habe ich wenn ich datein die größer als 1,2 mb sind uploade geht es nicht. kleinere datein gehen ohne probleme. ihr könnt euch mal den quelltext anschauen vielleicht habt ihr nee idee.

-------------------------------------------------------------------------------------------------------------------------------
<?
// This is Ali's FTP Interface, PHP sessions edition
// Script created by Savas Ali Tokmen - http://ali.tokmen.com

// STARTUP PARAMETERS
// You can call Ali's FTP Interface with the following paramaters
// [filename].php?host=HOST&user=USER&pass=PASS&port=PORT&folder=FOLDER&passive=PASSIVE&lang=LANG
//
// WHERE:
// HOST is the host name
// USER is the user name
// PASS is the password
// PORT is the port number
// FOLDER is the folder name
// LANG is the language code
// PASSIVE is whether to use passive mode FTP (0 for "no" and 1 for "yes")
//
// Of course, all those items are optional. The first option should be called
// preceeded by a "?" sign and the others by a "&" sign.
// This way, you can launch without much pain the FTP Interface with the parameters
// you want. The user would then only have to press "connect"

// USER-SIDE VARIABLES USED BY THE FTP INTERFACE
//
// $sessID is SESSION ID
// $usePassive is whether to use PASSIVE FTP
// $hostname is HOSTNAME
// $username is USERNAME
// $password is PASSWORD
// $port is PORT
// $curFold is CURRENT FOLDER
// $newFold is NEW FOLDER (FOR THE MKDIR COMMAND)
// $newName is NEW NAME (FOR UPLOADED FILES)
// $_FILES["uplfile"] is UPLOADED FILE CONTENT
// $orgName is ORIGINAL NAME (WHEN RENAMING FILE / FOLDER OR CHANGEDIR / GETFILE)
// $rnName is NEW NAME (WHEN RENAMING / CHANGING PERMISSONS OF FILE / FOLDER)
// $doAction is WHAT TO DO WITH FILE / FOLDER (go, rn, rm, ch)
// $actionType is WITH WHAT TO DO IT (file, folder)

// PHP SHOULD ONLY REPORT *BIG* PROBLEMS
error_reporting(E_ERROR);

// MAXIMUM SIZE OF UPLOADS AND DOWNLOADS, IN MB
$ulLimit=5;
$dlLimit=5;

// DEFINE HERE THE LOCATION OF THE ZIP2FTP INTERFACE
// THIS IS USED WHEN USER WANTS TO UPLOAD MULTIPLE FILES
define("zip2ftp","zip2ftp");

// DEFINE HERE THE NAME OF THE BIG AND SMALL IMAGES USED FOR FOLDERS AND FILES
// SOME CAN BE DOWNLOADED FROM http://myftp.alishomepage.com/images.zip
define("ftp_folder_image_src","folder.gif");
define("ftp_folder_small_image_src","folder_small.gif");
define("ftp_file_image_src","file.gif");
define("ftp_file_small_image_src","file_small.gif");

// IMPORT EXTERNAL VARIABLES
import_request_variables("gp");

// LANGUAGE CODES THAT MAY BE USED, AND THEIR NAMES
$langs=array("en","fr","tr");
//$langExps=array("View this page in english","Voir cette page en français","Bu sayfayı türkçe olarak göster");

// HTML CLEANER & INVERSE
function filterHTML($what){
return str_replace(array("&","<",">","\""),array("&amp;","&lt;","&gt;","&quot;"),$what);}
function unfilterHTML($what){
return str_replace(array("&lt;","&gt;","&quot;","&amp;"),array("<",">","\"","&"),$what);}

// PHP < 4.1.0 DIDN'T HAVE $_* BUT $HTTP_*_VARS
if(version_compare(phpversion(),"4.1.0")==-1){
$_SERVER = $HTTP_SERVER_VARS;
$_SESSION = $HTTP_SESSION_VARS;
$_FILES = $HTTP_POST_FILES;}

// SCRIPT NAME
$scriptName=basename($_SERVER["SCRIPT_NAME"]);
$scriptName=filterHTML($scriptName);

// CONTENT FOR EVERY LANGUAGE
$content=array();
$content["en"]["title"]="Ftp Zugang für den Server";
//$content["fr"]["title"]="L'interface FTP d'Ali";
//$content["tr"]["title"]="Ali'nin FTP arayüzü";
$content["en"]["formdata"]=array("Hostname","Username","Password","Port (standard is 21)","Folder to list (optional)","Display mode","Big icons","Detailed","Use passive mode FTP","No","Yes","Go");
$content["fr"]["formdata"]=array("Adresse du serveur","Nom d'utilisateur","Mot de passe","Port (le standard est 21)","Classeur à lister (optionnel)","Mode d'affichage","Grandes icônes","Détaillé","Utiliser le mode FTP passif","Non","Oui","Allons-y");
$content["tr"]["formdata"]=array("Server adresi","Kullanıcı adı","Parola","Port (standart değer 21)","Listelenecek klasör (opsiyonel)","Görünüm şekli","Büyük ikonlar","Detaylı","Bağlantı pasif modda yapılsın mı","Hayır","Evet","Bağlan");
//$content["en"]["explain"]="The usage of the FTP interface is simple: to switch to a folder or download a file, just click its icon. To rename an item, juste write a new as name and press ENTER (just like you would in your normal file manager utility) ... NOTE that when you click to start a file download, my server first needs to download it; so sometimes you may have to wait a bit before the download starts at your machine.<br><br>And, to ERASE all the information about your connection (mostly your PASSWORD), don't forget to click the DISCONNECT button!<br><br>Limits: sizelimit is $dlLimit MB per file for file downloads, and $ulLimit MB per file for file uploads.<br><br>\n<b>HINT</b>: if you want to upload a large number of files directly to an FTP server, you may find <a href=http://zip2ftp.alishomepage.com target=_blank>Ali's ZIP 2 FTP Interface</a> quite useful! ;)<br><br>\n<b>HINT II</b>: a version of the same FTP Interface that uses MySQL (and that stays free and open source) is also available. <a href=http://myftp.alishomepage.com/?lang=en target=_blank>Click here</a> to reach it.";
//$content["fr"]["explain"]="L'usage de l'interface FTP est simple: pour aller à un classeur ou télécharger un fichier, cliquez son icone. Pour renommer un fichier ou classeur, changez son nom et appuyez sur ENTREE (comme vous feriez dans votre utilitaire de gestion de fichiers normal) ... NOTEZ que quand vous cliquez sur un fichier pour commencer son téléchargement, mon serveur doit en premier le télécharger donc des fois le démarrage de votre coté du téléchargement peut prendre un peu de temps.<br><br>Aussi, pour être sur d'avoir DETRUIT vos informations de connexion (SURTOUT votre mot de passe) n'oubliez pas de cliquer sur DECONNECTER quand vous aurez terminé!<br><br>Limites: vous êtes limités à $dlLimit MO par fichier en download, et à $ulLimit MO par fichier pour les uploads.<br><br>\n<b>ASTUCE</b>: si vous désirez uploader un grand nombre de fichiers à un serveur FTP, vous trouverez qu'<a href=http://zip2ftp.alishomepage.com target=_blank>Ali's ZIP 2 FTP Interface</a> vous est assez utile! ;)<br><br>\n<b>ASTUCE II</b>: une version de la même interface FTP qui utilise MySQL (et qui reste gratuit et à sources ouvertes) est aussi disponible. <a href=http://myftp.alishomepage.com/?lang=fr target=_blank>Cliquez ici</a> pour vous y rendre...";
//$content["tr"]["explain"]="FTP arayüzünün kullanımı son derece basittir: bir klasöre gitmek veya dosya indirmek için ikonuna tıklayın. Bir klasör veya dosyanın adını değiştirmek için yeni bir ad girin ve ENTER tuşuna basın (aynı normal dosya yönetim programınızda yaptığınız gibi) ... BİR DE, unutmayın ki bir şeyi download etmek istediğinizde ilk önce o şeyin FTP sunucusundan benim sunucuma download edilmesi gerekmektedir, dolayısıyla download'un sizin tarafınızda başlaması bazen zaman alabilir.<br><br>Bir de, sizinle ilgili bilgilerin (hele de PAROLAnızın) YOK EDİLDİĞİNDEN emin olmak için işiniz bittiğinde BAĞLANTIYI BİTİR düğmesine tıklamayı unutmayın!<br><br>Limitler: dosya boy limiti downloadlar için dosya başına $dlLimit MB, uploadlar için de dosya başına $ulLimit MB'dir.<br><br>\n<b>İPUCU</b>: eğer amacınız bir FTP sunucusuna bol miktarda dosya yollamak ise, <a href=http://zip2ftp.alishomepage.com target=_blank>Ali's ZIP 2 FTP Interface</a>'i bayağı faydalı bulabilirsiniz! ;)<br><br>\n<b>İPUCU II</b>: bu FTP arayüzünün MySQL kullanan bir sürümü de mevcuttur (ve aynı bu sürüm gibi ücretsiz ve açık kaynaklıdır). Görmek için <a href=http://myftp.alishomepage.com/?lang=tr target=_blank>buraya</a> tıklayın...";
$content["en"]["reconnect"]="<br><br>\nClick to <a href=\"".$scriptName."?lang=en\">restart connection</a> with the FTP server";
$content["fr"]["reconnect"]="<br><br>\nCliquez pour <a href=\"".$scriptName."?lang=fr\">redémarrer la connexion</a> avec le serveur FTP";
$content["tr"]["reconnect"]="<br><br>\nFTP sunucusuna <a href=\"".$scriptName."?lang=tr\">tekrar bağlan</a>mak için tıklayın";
$content["en"]["sessionDEL"]="<br><br>\n(session has been DESTROYED, pressing the BACK button of your browser will not help)";
$content["fr"]["sessionDEL"]="<br><br>\n(la session a été DETRUITE, donc utiliser le bouton EN ARRIERE de votre browseur est inutile)";
$content["tr"]["sessionDEL"]="<br><br>\n(session YOK EDİLMİŞTİR, dolayısıyla browser'ınızın GERİ düğmesini tıklamak boşuna olacaktır)";
$content["en"]["emptysession"]="<font color=#EE1212><b>HUGE ERROR</b></font>: session data empty".$content["en"]["reconnect"].$content["en"]["sessionDEL"];
$content["fr"]["emptysession"]="<font color=#EE1212><b>ERREUR GIGANTESQUE</b></font>: données de session vides".$content["fr"]["reconnect"].$content["fr"]["sessionDEL"];
$content["tr"]["emptysession"]="<font color=#EE1212><b>KOCAMAN HATA</b></font>: session bilgileri boş".$content["tr"]["reconnect"].$content["tr"]["sessionDEL"];
$content["en"]["nosession"]="<font color=#EE1212><b>HUGE ERROR</b></font>: session data mismatch".$content["en"]["reconnect"].$content["en"]["sessionDEL"];
$content["fr"]["nosession"]="<font color=#EE1212><b>ERREUR GIGANTESQUE</b></font>: données de session différentes".$content["fr"]["reconnect"].$content["fr"]["sessionDEL"];
$content["tr"]["nosession"]="<font color=#EE1212><b>KOCAMAN HATA</b></font>: session bilgileri uyumsuz".$content["tr"]["reconnect"].$content["tr"]["sessionDEL"];
$content["en"]["ftpfail1"]="<font color=#EE1212><b>HUGE ERROR</b></font>: FTP connection to <font color=#1212FF>";
$content["en"]["ftpfail2"]="</font> on port <font color=#1212FF>";
$content["en"]["ftpfail3"]="</font> as <font color=#1212FF>";
$content["en"]["ftpfail4"]="</font> failed<br><br>\nError was: nonexistent server or wrong or unsupported settings (user name, password, use passive mode, ...)".$content["en"]["reconnect"].$content["en"]["sessionDEL"];
$content["fr"]["ftpfail1"]="<font color=#EE1212><b>ERREUR GIGANTESQUE</b></font>: connexion FTP vers <font color=#1212FF>";
$content["fr"]["ftpfail2"]="</font> sur le port <font color=#1212FF>";
$content["fr"]["ftpfail3"]="</font> en tant que <font color=#1212FF>";
$content["fr"]["ftpfail4"]="</font> impossible<br><br>\nCause: serveur nonexistant ou réglages invalides ou non-supportés (login, mot de passe, mode passif, ...)".$content["fr"]["reconnect"].$content["fr"]["sessionDEL"];
$content["tr"]["ftpfail1"]="<font color=#EE1212><b>KOCAMAN HATA</b></font>: <font color=#1212FF>";
$content["tr"]["ftpfail2"]="</font> adlı sunucunun <font color=#1212FF>";
$content["tr"]["ftpfail3"]="</font> numaralı portundan <font color=#1212FF>";
$content["tr"]["ftpfail4"]="</font> olarak FTP bağlantısı kurulamadı<br><br>\nNedeni: sonucu yok veya ayarlar yalnış veya desteklenmiyor (kullanıcı adı, parola, pasif mod, ...)".$content["tr"]["reconnect"].$content["tr"]["sessionDEL"];
$content["en"]["logoutOK"]="Disconnect OK";
$content["fr"]["logoutOK"]="Déconnection OK";
$content["tr"]["logoutOK"]="Bağlantı başarıyla sonlandırıldı";
$content["en"]["connectedTo"]="Connected to";
$content["fr"]["connectedTo"]="Connecté à";
$content["tr"]["connectedTo"]="Şu anki bağlantı";
$content["en"]["disconnect"]="Disconnect";
$content["fr"]["disconnect"]="Déconnecter";
$content["tr"]["disconnect"]="Bağlantıyı kes";
$content["en"]["currentFold"]="Der Aktuelle Ordner";
$content["fr"]["currentFold"]="Le classeur courant est";
$content["tr"]["currentFold"]="Şu anki klasör";
$content["en"]["multipleUpl"]="Upload multiple files";
$content["fr"]["multipleUpl"]="Uploader plusieurs fichiers";
$content["tr"]["multipleUpl"]="Bir çok dosya yolla";
$content["en"]["alertPwd"]="Note that your FTP password will not be transmitted to the ZIP2FTP interface, you will therefore have to re-enter it";
$content["fr"]["alertPwd"]="Notez que votre mot de passe ne sera pas transmis à l'interface ZIP2FTP, vous devrez donc le re-rentrer";
$content["tr"]["alertPwd"]="NOT: parolanız ZIP2FTP arayüzüne yollanmayacaktır, dolayısıyla onu tekrar girmeniz gerekmektedir";
$content["en"][".."]="Einen Ordner nach oben";
$content["fr"][".."]="Aller au classeur parent";
$content["tr"][".."]="Bir üst klasöre git";
$content["en"]["changeMode1"]="";
$content["fr"]["changeMode1"]="Voir en ";
$content["tr"]["changeMode1"]="";
$content["en"]["changeMode2"]=" viewing mode";
$content["fr"]["changeMode2"]="";
$content["tr"]["changeMode2"]=" görünümü";
$content["en"]["createFold"]="Neuen Ordner erstellen";
$content["fr"]["createFold"]="Créer un nouveau classeur";
$content["tr"]["createFold"]="Yeni klasör yarat";
$content["en"]["create"]="Create";
$content["fr"]["create"]="Créer";
$content["tr"]["create"]="Yarat";
$content["en"]["upl1"]="Datei hochladen";
$content["fr"]["upl1"]="Uploader le fichier";
$content["tr"]["upl1"]="Bu dosyayı yolla";
$content["en"]["upl2"]="und specihern als";
$content["fr"]["upl2"]="et sauvegarder en";
$content["tr"]["upl2"]="ve bu ad ile kaydet";
$content["en"]["upl3"]="Hochladen";
$content["fr"]["upl3"]="Uploader";
$content["tr"]["upl3"]="Upload et";
$content["en"]["upl4"]="Dateinamen eingeben";
$content["fr"]["upl4"]="entrer un nom de fichier";
$content["tr"]["upl4"]="dosya adı girin";
$content["en"]["empty"]="folder is empty";
$content["fr"]["empty"]="le classeur est vide";
$content["tr"]["empty"]="klasör boş";
$content["en"]["clickFold"]="Click to go to folder";
$content["fr"]["clickFold"]="Cliquez pour aller au classeur";
$content["tr"]["clickFold"]="Klasöre gitmek için tıklayın";
$content["en"]["renFold"]="Type a new name and press ENTER to rename this folder";
$content["fr"]["renFold"]="Tapez un nouveau nom et appuyez sur ENTREE pour renommer ce classeur";
$content["tr"]["renFold"]="Bu klasörün adını değiştirmek için yeni bir ad girin ve ENTERa basın";
$content["en"]["rmFold"]="Ordner löschen";
$content["fr"]["rmFold"]="Effacer le classeur";
$content["tr"]["rmFold"]="Klasörü sil";
$content["en"]["changePerm"]="Change the text and press ENTER to change permissions";
$content["fr"]["changePerm"]="Changez le texte et appuyez sur ENTREE pour changer les permissions";
$content["tr"]["changePerm"]="Hakları değiştirmek için yazıyı değiştirip ENTERa basın";
$content["en"]["changePermPHP5"]="<b>Error</b>: changing permissions requires at least PHP 5! <a href=http://myftp.alishomepage.com/session.php5?lang=en target=_blank>Click here</a> for Ali's FTP Interface run using a PHP 5 server...";
$content["fr"]["changePermPHP5"]="<b>Erreur</b>: pour changer les permissions, il faut au moins PHP5! <a href=http://myftp.alishomepage.com/session.php5?lang=fr target=_blank>Cliquez ici</a> pour une version de l'Interface FTP d'Ali fonctionnant sur un serveur PHP 5...";
$content["tr"]["changePermPHP5"]="<b>Hata</b>: hakları değiştirmek için PHP 5 gerekli! Ali'nin FTP Arayüzü'nün PHP 5 kullanan bir sunucudaki sürümü için <a href=http://myftp.alishomepage.com/session.php5?lang=tr target=_blank>buraya tıklayın</a>...";
$content["en"]["KB"]="KB";
$content["fr"]["KB"]="KO";
$content["tr"]["KB"]="KB";
$content["en"]["MB"]="MB";
$content["fr"]["MB"]="MO";
$content["tr"]["MB"]="MB";
$content["en"]["GB"]="GB";
$content["fr"]["GB"]="GO";
$content["tr"]["GB"]="GB";
$content["en"]["noDL"]="You probably will not be able to download this file";
$content["fr"]["noDL"]="Vous ne pourrez probablement pas télécharger ce fichier";
$content["tr"]["noDL"]="Bu dosyayı büyük ihtimalle indiremeyeceksiniz";
$content["en"]["noSize"]=$content["en"]["noDL"].": its size is unknown";
$content["fr"]["noSize"]=$content["fr"]["noDL"].": sa taille est inconnue";
$content["tr"]["noSize"]=$content["tr"]["noDL"].": dosya boyu bilinmiyor";
$content["en"]["tooBig"]=$content["en"]["noDL"].": its size is too big";
$content["fr"]["tooBig"]=$content["fr"]["noDL"].": c'est trop gros";
$content["tr"]["tooBig"]=$content["tr"]["noDL"].": çok büyük";
$content["en"]["dlFail"]="Download failed! :(";
$content["fr"]["dlFail"]="Echec lors du téléchargement! :(";
$content["tr"]["dlFail"]="Dosya indirilemedi! :(";
$content["en"]["dlFile"]="Click to download file";
$content["fr"]["dlFile"]="Cliquez pour télécharger le fichier";
$content["tr"]["dlFile"]="Dosyayı indirmek için tıklayın";
$content["en"]["renFile"]="Type a new name and press ENTER to rename this file";
$content["fr"]["renFile"]="Tapez un nouveau nom et appuyez sur ENTREE pour renommer ce fichier";
$content["tr"]["renFile"]="Bu dosyanın adını değiştirmek için yeni bir ad girin ve ENTERa basın";
$content["en"]["rmFile"]="Datei löschen";
$content["fr"]["rmFile"]="Effacer le fichier";
$content["tr"]["rmFile"]="Dosyayı sil";
$content["en"]["rmFoldAlert"]="Are you sure you want to delete this folder and all its contents";
$content["fr"]["rmFoldAlert"]="Etes-vous sur de vouloir effacer ce classeur et tout son contenu";
$content["tr"]["rmFoldAlert"]="Bu klasörü ve tüm içeriğini silmek istediğinize emin misiniz";
$content["en"]["rmFileAlert"]="Are you sure you want to delete this file";
$content["fr"]["rmFileAlert"]="Etes-vous sur de vouloir effacer ce fichier";
$content["tr"]["rmFileAlert"]="Bu dosyayı silmek istediğinize emin misiniz";
$content["en"]["fileName"]="Name";
$content["fr"]["fileName"]="Nom";
$content["tr"]["fileName"]="Ad";
$content["en"]["owner"]="Owner";
$content["fr"]["owner"]="Propriétaire";
$content["tr"]["owner"]="Sahibi";
$content["en"]["perm"]="Permissions";
$content["fr"]["perm"]="Permissions";
$content["tr"]["perm"]="İzinler";
$content["en"]["fileLastMod"]="Last modified";
$content["fr"]["fileLastMod"]="Dernière modification";
$content["tr"]["fileLastMod"]="En son değiştirilme";
$content["en"]["fileSize"]="Size";
$content["fr"]["fileSize"]="Taille";
$content["tr"]["fileSize"]="Boyut";
//$content["en"]["end"]="This page has been optimized for a minimal resolution of 800x600 pixels\n<font size=2><br><br></font><font size=1>\nThis is a multilingual, completely free and Open Source (or OpenSource) software / script. Please <a href=\"".$scriptName."?do=getSource\">click here</a> to get its source code [written in PHP].\n<font size=2><br><br></font><font size=1>\nAli's HTTP to FTP interface (PHP session edition) created by Savas Ali Tokmen";
//$content["fr"]["end"]="Cette page a été optimisée pour une résolution minimale de 800x600 pixels\n<font size=2><br><br></font><font size=1>\nCeci est un programme / logiciel / script qui est multi-langues, complètement gratuit et à sources ouvertes (Open Source). Vous pouvez <a href=\"".$scriptName."?do=getSource\">cliquer ici</a> pour télécharger le code source, écrit en PHP.\n<font size=2><br><br></font><font size=1>\nL'interface HTTP vers FTP d'Ali (édition avec les sessions PHP) crée par Savas Ali Tokmen";
//$content["tr"]["end"]="Bu sayfa en az 800x600'lük bir çözünürlük için tasarlanmıştır\n<font size=2><br><br></font><font size=1>\nBu yazılım / program / script çok dilli, tamamen bedava ve açık kaynaklıdır (Open Source). PHP'de yazılmış kaynak kodunu indirmek için lütfen <a href=\"".$scriptName."?do=getSource\">buraya tıklayın</a>.\n<font size=2><br><br></font><font size=1>\nAli'nin HTTP üzerinden FTP arayüzü (PHP session sürümü) Savaş Ali Tokmen tarafından yaratılmıştır";
$content["en"]["genTime1"]="Page generated in ";
$content["fr"]["genTime1"]="Page générée en ";
$content["tr"]["genTime1"]="Bu sayfa ";
$content["en"]["genTime2"]=" seconds";
$content["fr"]["genTime2"]=" secondes";
$content["tr"]["genTime2"]=" saniyede yaratıl";
//$content["en"]["zipped"]=" and sent using ZIP compression";
//$content["fr"]["zipped"]=" et envoyée en utilisant la compression ZIP";
//$content["tr"]["zipped"]="ıp ZIP sıkıştırma ile yollanmıştır";
$content["en"]["notZipped"]="";
$content["fr"]["notZipped"]="";
$content["tr"]["notZipped"]="mıştır";

if($do=="getSource"){
$scriptName=unfilterHTML($scriptName);
$user_agent=strtolower($_SERVER["HTTP_USER_AGENT"]);
header("Content-type: application/force-download");
if((is_integer(strpos($user_agent,"msie")))&&(is_integer(strpos($user_agent,"win")))){
header("Content-Disposition: filename=\"$scriptName\"");
}else{
header("Content-Disposition: attachment; filename=\"$scriptName\"");}
header("Content-Description: File Transfert");
readfile($scriptName);
//if(strpos($user_agent,"bot")===false && strpos($_SERVER["SERVER_NAME"],"alishomepage.com")===false){
//mail("opensource@alishomepage.com","FTP Interface (PHP session edition): another one downloaded ","This part will be referred to when the browser sends out no referrer information\n\nServer name: ".$_SERVER["SERVER_NAME"]."\nScript name: ".$_SERVER["SCRIPT_NAME"]."\nTranslated path: ".$_SERVER["PATH_TRANSLATED"]."\n\nDownloader's info (the referrer is most useful, user agent is to detect bots)\n\nUser agent: ".$_SERVER["HTTP_USER_AGENT"]."\nReferrer: ".$_SERVER["HTTP_REFERER"]."\nRequest URL: ".$_SERVER["REQUEST_URI"],"From: \"Ali's Open Source Initiative\" <opensource@alishomepage.com>");}
die();}

// CLEAN VARIABLES
if($curFold){$curFold=str_replace(array("\\\"","\'","\\\\"),array("\"","'","\\"),$curFold);}
if($orgName){$orgName=stripslashes($orgName);}
if($rnName){$rnName=stripslashes($rnName);}
if($newName){$newName=stripslashes($newName);}
if($newFold){$newFold=stripslashes($newFold);}
if($sessID){$sessID=addslashes(stripslashes($sessID));}
$port=intval($port);if(!$port || $port<1 || $port>65535){$port=21;}

// CHOOSE DEFAULT LANGUAGE
if(!in_array($lang,$langs)){$lang=$langs[0];}

// THIS FUNCTION GETS MICROTIME... TO DISPLAY IT AT THE END OF THE PAGE
function getmicrotime(){
list($usec,$sec)=explode(" ",microtime());
return ((float)$usec+(float)$sec);}

define('PAGE_START_TIME', getmicrotime());

// THIS FUNCTION WILL LOWERCASE ARRAY AND ALSO REPLACE SOME CHARS
// SO THAT SORTING WORKS NORMALLY FOR NAMES CONTAININS THOSE CHARS
function arraytolowercase_standard($array){
$return=array();
for($i=0;$i<sizeof($array);$i++){
$return[$i]=strtolower(strtr($array[$i],"ÉÈÊÀÁÂÇĞİÖŞÜéèêàáâçğıöşü","eeeaaacgiosueeeaaacgiosu"));}
return $return;}

// PHP VERSIONS < 4.2.0 DID NOT HAVE TIMEOUT IN CONNECT
if(version_compare(phpversion(),"4.2.0")==-1){
function start_ftp_connection($host,$port){
return ftp_connect($host,$port);}
}else{
function start_ftp_connection($host,$port){
return ftp_connect($host,$port,30);}}

// FILE DOWNLOAD...

if($actionType=="file" && $doAction=="go"){
// session_name("sessID");
session_id($sessID);
session_start();
$sessInfo=array(
"ip" => $_SESSION["ip"],
"hostname" => $_SESSION["hostname"],
"username" => $_SESSION["username"],
"password" => $_SESSION["password"],
"port" => $_SESSION["port"],
"passive" => $_SESSION["passive"]);
session_write_close();
if($sessInfo["ip"]==$_SERVER["REMOTE_ADDR"]){
$tempName=strtolower(base_convert(rand(0,46656),10,36));
while(file_exists("_$tempName.tmp")){
$tempName=strtolower(base_convert(rand(0,46656),10,36));}
$hostname=$sessInfo["hostname"];
$username=$sessInfo["username"];
$password=$sessInfo["password"];
$port=$sessInfo["port"];
$usePassive=$sessInfo["passive"];
if($usePassive==1){$usePassive=true;}else{$usePassive=false;}
$conn_id=start_ftp_connection($hostname,$port);
if($conn_id && ftp_login($conn_id,$username,$password) && ftp_chdir($conn_id,$curFold) && ftp_size($conn_id,$orgName)<$dlLimit*1048576 && ftp_pasv($conn_id,$usePassive) && ftp_get($conn_id,"_$tempName.tmp",$orgName,FTP_BINARY) && ftp_quit($conn_id)){
$user_agent=strtolower($_SERVER["HTTP_USER_AGENT"]);
header("Content-type: application/force-download");
if((is_integer(strpos($user_agent,"msie")))&&(is_integer(strpos($user_agent,"win")))){
header("Content-Disposition: filename=\"$orgName\"");
}else{
header("Content-Disposition: attachment; filename=\"$orgName\"");}
header("Content-Description: File Transfert");
readfile("_$tempName.tmp");
unlink("_$tempName.tmp");
die();}}
unlink("_$tempName.tmp");
echo "<script>alert(\"".$content[$lang]["dlFail"]."\");window.close()</script>";
die();}

// END OF "FILE DOWNLOAD" SECTION...

// SEND PAGE USING ZIP COMPRESSION...
ob_implicit_flush(0);
ob_start();
define('ZIP_IT',(extension_loaded('zlib') && (strstr($_SERVER["HTTP_ACCEPT_ENCODING"],'gzip') || strstr($useragent,'compatible') || strstr($useragent,'Gecko'))));

function cutLeadingSpaces($str){
while(substr($str,0,1)==" "){$str=substr($str,1);}
return $str;}

// RECURSIVE DIRECTORY REMOVER
function ftp_rec_rmdir($conn_id,$folder){
ftp_chdir($conn_id,$folder);
$folders=array();
$files=array();
$list=ftp_rawlist($conn_id,"");
for($i=0;$i<sizeof($list);$i++){
list($permissions,$next)=split(" ",$list[$i],2);
list($num,$next)=split(" ",cutLeadingSpaces($next),2);
list($owner,$next)=split(" ",cutLeadingSpaces($next),2);
list($group,$next)=split(" ",cutLeadingSpaces($next),2);
list($size,$next)=split(" ",cutLeadingSpaces($next),2);
list($month,$next)=split(" ",cutLeadingSpaces($next),2);
list($day,$next)=split(" ",cutLeadingSpaces($next),2);
list($year_time,$filename)=split(" ",cutLeadingSpaces($next),2);
if(strlen($filename)>0 && $filename!="." && $filename!=".."){
if(substr($permissions,0,1)=="d"){
$folders[]=$filename;
} else {
$files[]=$filename;}}}
for($i=0;$i<sizeof($folders);$i++){
ftp_rec_rmdir($conn_id,$folders[$i]);}
for($i=0;$i<sizeof($files);$i++){
ftp_delete($conn_id,$files[$i]);}
ftp_cdup($conn_id);
ftp_rmdir($conn_id,$folder);}

echo "<meta http-equiv='Content-Type' content='text/html;charset=windows-1254'>\n<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-9'>\n<title>".$content[$lang]["title"]."</title>\n<style>BODY{background:#F0F0F0;font-family:verdana,arial,helvetica;font-size:13;color:#121212;cursor:default}TD{font-size:13}H1{font-size:28}A{text-decoration:none;color:#2B5796}A:hover{color:#FF6262;text-decoration:underline}input.i_top{font-family:Arial;font-size:8pt}input.i_mid{font-family:Arial;font-size:8pt;background-color:#F0F0F0;color:#121212;border-style:none;text-align:center}input.i_nc{color:#121212;border-style:none;font-family:Arial;font-size:8pt;text-align:center}</style>\n<center><h1>".$content[$lang]["title"]."</h1><br>\n";

if(($sessID && $sessID!="connect") || ($sessID=="connect" && $host && $user)){

// THERE'S A SESSION ID... SO THE USER IS/WILL BE LOGGED IN

if($do=="logout"){
session_name("sessID");
// session_id($sessID);
session_start();
session_unset();
session_write_close();
session_start();
session_destroy();
setcookie(session_name(),"",0,"/");
echo $content[$lang]["logoutOK"];
echo $content[$lang]["reconnect"];
}else{
if($sessID=="connect"){
// session_name("sessID");
// session_start();
// session_regenerate_id();
session_start();
$sessID=session_id();
function antiXSS($what){
return str_replace(array("&slash;","&amp;"),array("\\","&"),stripslashes(str_replace(array("&","\\\\"),array("&amp;","&slash;"),$what)));}
$_SESSION["ip"]=$_SERVER["REMOTE_ADDR"];
$_SESSION["hostname"]=antiXSS($host);
$_SESSION["username"]=antiXSS($user);
$_SESSION["password"]=antiXSS($pass);
$_SESSION["port"]=$port;
$_SESSION["passive"]=intval($usePassive);
session_write_close();}
session_name("sessID");
// session_id($sessID);
session_start();
$sessInfo=array(
"ip" => $_SESSION["ip"],
"hostname" => $_SESSION["hostname"],
"username" => $_SESSION["username"],
"password" => $_SESSION["password"],
"port" => $_SESSION["port"],
"passive" => $_SESSION["passive"]);
session_write_close();
if($sessInfo["ip"]==$_SERVER["REMOTE_ADDR"]){
$hostname=$sessInfo["hostname"];
$username=$sessInfo["username"];
$password=$sessInfo["password"];
$port=$sessInfo["port"];
$usePassive=$sessInfo["passive"];
if($usePassive==1){$usePassive=true;}else{$usePassive=false;}
$conn_id=start_ftp_connection($hostname,$port);
if($conn_id && ftp_login($conn_id,$username,$password)){

// CHANGE FOLDER, PERMISSIONS, RENAME, DELETE, CREATE FOLDER AND UPLOAD AS NEEDED + GET FILELIST

if($curFold){ftp_chdir($conn_id,$curFold);}
$curFold=filterHTML(ftp_pwd($conn_id));
if($actionType=="folder" && $doAction=="go"){
if($orgName==".."){
$result=ftp_cdup($conn_id);
}else{
$result=ftp_chdir($conn_id,$orgName);}
if($result){
$curFold=filterHTML(ftp_pwd($conn_id));}}
if($doAction=="ch" && strlen($rnName)>8){
if(version_compare(phpversion(),"5.0.0")==-1){
// PHP VERSION < 5 DON'T HAVE FTP_CHMOD OR FTP_RAW OR STRIPOS
echo $content[$lang]["changePermPHP5"]."<br><br>";
}else{
$possPerms="rwx";
$cPerms=0;
for($i=3;$i>0;$i--){
$current=substr($rnName,strlen($rnName)-3);
for($j=0;$j<3;$j++){
if(false!==stripos($current,$possPerms[$j])){
$cPerms+=pow(2,$j)*pow(10,abs($i-3));}}
$rnName=substr($rnName,0,strlen($rnName)-3);}
ftp_chmod($conn_id,$cPerms,$orgName);}}
if($doAction=="rn"){ftp_rename($conn_id,$orgName,$rnName);}
if($actionType=="folder" && $doAction=="rm"){ftp_rec_rmdir($conn_id,$orgName);}
if($actionType=="file" && $doAction=="rm"){ftp_delete($conn_id,$orgName);}
if($newFold){ftp_mkdir($conn_id,$newFold);}
ftp_pasv($conn_id,$usePassive);
if($_FILES["uplFile"] && $newName){ftp_put($conn_id,$newName,$_FILES["uplFile"]["tmp_name"],FTP_BINARY);}
$list=ftp_rawlist($conn_id,"");
ftp_quit($conn_id);

// FTP OPERATIONS ARE FINISHED AND CONNECTION CLOSED... ARRANGING FILELIST

$list=str_replace("&","&amp;",$list);
$foldPerm=array();
$filePerm=array();
$folders=array();
$files=array();
$fileSizes=array();
$fileOwner=array();
$foldOwner=array();
$fileLastMod=array();
$foldLastMod=array();
for($i=0;$i<sizeof($list);$i++){
list($permissions,$next)=split(" ",$list[$i],2);
list($num,$next)=split(" ",cutLeadingSpaces($next),2);
list($owner,$next)=split(" ",cutLeadingSpaces($next),2);
list($group,$next)=split(" ",cutLeadingSpaces($next),2);
list($size,$next)=split(" ",cutLeadingSpaces($next),2);
list($month,$next)=split(" ",cutLeadingSpaces($next),2);
list($day,$next)=split(" ",cutLeadingSpaces($next),2);
list($year_time,$filename)=split(" ",cutLeadingSpaces($next),2);
if(strlen($filename)>0 && $filename!="." && $filename!=".."){
if(substr($permissions,0,1)=="d"){
$foldPerm[]=$permissions; // was "permisions" ... thank you, Tomas Kmieliauskas
$folders[]=$filename;
$foldOwner[]=$owner;
$foldLastMod[]=$day." ".$month." ".$year_time;
} else {
$filePerm[]=$permissions;
$files[]=$filename;
$fileOwner[]=$owner;
$fileLastMod[]=$day." ".$month." ".$year_time;
$fileSizes[]=$size;}}}
$arrangerFold=arraytolowercase_standard($folders);
$arrangerFile=arraytolowercase_standard($files);
array_multisort($arrangerFold,$folders,$foldOwner,$foldLastMod);
array_multisort($arrangerFile,$files,$fileSizes,$fileOwner,$fileLastMod);
$foldersJS=str_replace("'","\\'",filterHTML($folders));
$foldersForm=filterHTML($folders);
$filesJS=str_replace("'","\\'",filterHTML($files));
$filesForm=filterHTML($files);

// PRINT CONTENTS

if($curFold==""){
$foldExplain="/";
}else{
if(strlen($curFold)<33){
$foldExplain=$curFold;
}else{
$foldExplain=unfilterHTML($curFold);
$foldExplain="...".filterHTML(substr($foldExplain,strlen($foldExplain)-33));}}

// PERHAPS THAT'S ONE OF THE WORLD'S LONGEST SINGLE-LINE "ECHO"S ... AND IT'S ONLY THE BEGINNING!!

echo "<form action=\"".$scriptName."?lang=$lang\" name=viewMode method=POST><input type=hidden name=sessID value=$sessID><input name=curFold type=hidden value=\"$curFold\"><input type=hidden name=dispMode></form>\n<form name=form action=\"".$scriptName."?lang=$lang&dispMode=$dispMode\" method=POST><input type=hidden name=sessID value=$sessID><input name=curFold type=hidden value=\"$curFold\"><input type=hidden name=actionType><input type=hidden name=doAction><input type=hidden name=orgName><input type=hidden name=do></form>\n<script>var newFileName=''\nfunction setView(view){document.viewMode.elements[2].value=view;document.viewMode.submit()}\nfunction sendForm(type,action,org,doo){if(type=='file' && action=='go'){document.form.target='_blank'}else{document.form.target='_self'};document.form.elements[2].value=type;document.form.elements[3].value=action;document.form.elements[4].value=org;document.form.elements[5].value=doo;document.form.submit()}</script>\n<table width=700 cellpadding=0 cellspacing=0><tr><td width=300 align=left valign=middle>\n".$content[$lang]["connectedTo"]."<br><font color=#1212FF>".filterHTML($username)."</font> @ <font color=#1212FF>".filterHTML($hostname)."</font></td>\n<td width=100 align=center valign=middle><a href=javascript:sendForm('','','','logout')>".$content[$lang]["disconnect"]."</a></td>\n<td width=300 align=right valign=middle>".$content[$lang]["currentFold"]."<br><font color=#1212FF>$foldExplain</font></td></tr></table><br><br>\n<table><tr><td width=225 align=center valign=middle><form action=\"".$scriptName."?lang=$lang&dispMode=$dispMode\" method=POST><input name=sessID type=hidden value=$sessID><input name=curFold type=hidden value=\"$curFold\"><input size=20 name=newFold type=text maxlength=128 class=i_top value=\"".$content[$lang]["createFold"]."\" onclick=\"if(this.value=='".$content[$lang]["createFold"]."'){this.value=''}\"><input type=submit value=".$content[$lang]["create"]." class=i_top><br><a href=javascript:sendForm('folder','go','..','')>".$content[$lang][".."]."</a></form></td>\n<td width=225 align=center valign=middle><form><a href=javascript:setView('".($dispMode=="detailed"?"normal":"detailed")."')>".$content[$lang]["changeMode1"]."\"".($dispMode=="detailed"?$content[$lang]["formdata"][6]:$content[$lang]["formdata"][7])."\"".$content[$lang]["changeMode2"]."</a><br><a href=\"".filterHTML(zip2ftp)."?host=".filterHTML($sessInfo["hostname"])."&user=".filterHTML($sessInfo["username"])."&port=".$sessInfo["port"]."&folder=".$curFold."&passive=".$sessInfo["passive"]."\" onclick=\"alert('".str_replace("'","\\'",filterHTML($content[$lang]["alertPwd"]))."')\" target=_blank>".$content[$lang]["multipleUpl"]."</a></form></td>\n<td width=350 align=center valign=middle><form name=uplForm action=\"".$scriptName."?lang=$lang&dispMode=$dispMode\" method=POST enctype=multipart/form-data><input name=MAX_FILE_SIZE type=hidden value=".($ulLimit*1048576)."><input name=sessID type=hidden value=$sessID><input name=curFold type=hidden value=\"$curFold\">".$content[$lang]["upl1"]." <input size=13 type=file name=uplFile onchange=\"newFileName=this.value;newFileName=newFileName.substr(newFileName.lastIndexOf('/')+1);newFileName=newFileName.substr(newFileName.lastIndexOf('\\\\')+1);document.uplForm.elements[4].value=newFileName\" class=i_top><br>".$content[$lang]["upl2"]." <input size=20 name=newName type=text maxlength=128 class=i_top value=\"(".$content[$lang]["upl4"].")\" onclick=\"if(this.value=='(".$content[$lang]["upl4"].")'){newFileName=document.uplForm.elements[3].value;newFileName=newFileName.substr(newFileName.lastIndexOf('/')+1);newFileName=newFileName.substr(newFileName.lastIndexOf('\\\\')+1);this.value=newFileName}\"><input type=submit value=".$content[$lang]["upl3"]." class=i_top></form></td></tr></table>";

if(!(sizeof($folders)+sizeof($files))){
echo "\n<br><br>(".$content[$lang]["empty"].")<br><br>";
}else{
if($dispMode=="detailed"){

// ECHO FILE LIST IN "DETAILED" MODE

$colors=array("F3F3F3","EEEEEE","F9F9F9","F3F3F3");
$count=0;
echo "\n<table cellpadding=0 cellspacing=0><tr bgcolor=#EEEEEE height=50>\n<td width=50></td><td width=350 align=center>".$content[$lang]["fileName"]."</td><td width=100 align=center>".$content[$lang]["perm"]."</td><td width=100 align=center>".$content[$lang]["owner"]."</td><td width=100 align=center>".$content[$lang]["fileLastMod"]."</td><td width=75 align=center>".$content[$lang]["fileSize"]."</td></tr>\n";
for($i=0;$i<sizeof($folders);$i++){
echo "<tr><td bgcolor=#".$colors[2*($count%2)]." align=center><acronym title=\"".$content[$lang]["clickFold"]."\"><img style=cursor:hand;cursor:pointer src=\"".ftp_folder_small_image_src."\" onclick=\"sendForm('folder','go','".$foldersJS[$i]."','')\"></acronym></td><td bgcolor=#".$colors[2*($count%2)]." align=center><form action=\"".$scriptName."?lang=$lang&dispMode=$dispMode\" method=POST><input name=sessID type=hidden value=$sessID><input name=curFold type=hidden value=\"$curFold\"><input name=doAction type=hidden value=rn><input name=actionType type=hidden value=folder><input name=orgName type=hidden value=\"".$foldersForm[$i]."\"><acronym title=\"".$content[$lang]["renFold"]."\"><input size=29 name=rnName type=text maxlength=128 style=background-color:#".$colors[2*($count%2)]." class=i_nc value=\"".$foldersForm[$i]."\"></acronym> &nbsp;<input type=button class=i_top value=\"".$content[$lang]["rmFold"]."\" onclick=\"if(window.confirm('".$content[$lang]["rmFoldAlert"]."?')){sendForm('folder','rm','".$foldersJS[$i]."','')}\"></form></td><td bgcolor=#".$colors[2*($count%2)+1]." align=center><form action=\"".$scriptName."?lang=$lang&dispMode=$dispMode\" method=POST><input name=sessID type=hidden value=$sessID><input name=curFold type=hidden value=\"$curFold\"><input name=doAction type=hidden value=ch><input name=orgName type=hidden value=\"".$foldersForm[$i]."\"><acronym title=\"".$content[$lang]["changePerm"]."\"><input size=13 name=rnName type=text maxlength=10 style=background-color:#".$colors[2*($count%2)+1]." class=i_nc value=\"".$foldPerm[$i]."\"></acronym></form></td><td bgcolor=#".$colors[2*($count%2)]." align=center>".$foldOwner[$i]."</td><td bgcolor=#".$colors[2*($count%2)+1]." align=center>".$foldLastMod[$i]."</td><td bgcolor=#".$colors[2*($count%2)]." align=center>-</td></tr>\n";
$count++;}
for($i=0;$i<sizeof($files);$i++){
$currentFileSize=$fileSizes[$i]/1048576;
if($currentFileSize<1){
$currentFileSize*=1024;
$currentFileSize=substr("$currentFileSize",0,strpos("$currentFileSize",".")+3)." ".$content[$lang]["KB"];
}elseif($currentFileSize>1024){
$currentFileSize/=1024;
$currentFileSize=substr("$currentFileSize",0,strpos("$currentFileSize",".")+3)." ".$content[$lang]["GB"];
}else{
$currentFileSize=substr("$currentFileSize",0,strpos("$currentFileSize",".")+3)." ".$content[$lang]["MB"];;}
if(!$fileSizes[$i]){
$fileSubtitle=$content[$lang]["noSize"];
}elseif($fileSizes[$i]>$dlLimit*1048576){
$fileSubtitle=$content[$lang]["tooBig"];
}else{
$fileSubtitle=$content[$lang]["dlFile"];}
echo "<tr><td bgcolor=#".$colors[2*($count%2)]." align=center><acronym title=\"$fileSubtitle\"><img style=cursor:hand;cursor:pointer src=\"".ftp_file_small_image_src."\" onclick=\"sendForm('file','go','".$filesJS[$i]."','')\"></acronym></td><td bgcolor=#".$colors[2*($count%2)]." align=center><form action=\"".$scriptName."?lang=$lang&dispMode=$dispMode\" method=POST><input name=sessID type=hidden value=$sessID><input name=curFold type=hidden value=\"$curFold\"><input name=doAction type=hidden value=rn><input name=actionType type=hidden value=file><input name=orgName type=hidden value=\"".$filesForm[$i]."\"><acronym title=\"".$content[$lang]["renFile"]."\"><input size=29 name=rnName type=text maxlength=128 style=background-color:#".$colors[2*($count%2)]." class=i_nc value=\"".$filesForm[$i]."\"></acronym> &nbsp;<input type=button class=i_top value=\"".$content[$lang]["rmFile"]."\" onclick=\"if(window.confirm('".$content[$lang]["rmFileAlert"]."?')){sendForm('file','rm','".$filesJS[$i]."','')}\"></form></td><td bgcolor=#".$colors[2*($count%2)+1]." align=center><form action=\"".$scriptName."?lang=$lang&dispMode=$dispMode\" method=POST><input name=sessID type=hidden value=$sessID><input name=curFold type=hidden value=\"$curFold\"><input name=doAction type=hidden value=ch><input name=orgName type=hidden value=\"".$filesForm[$i]."\"><acronym title=\"".$content[$lang]["changePerm"]."\"><input size=13 name=rnName type=text maxlength=10 style=background-color:#".$colors[2*($count%2)+1]." class=i_nc value=\"".$filePerm[$i]."\"></acronym></form></td><td bgcolor=#".$colors[2*($count%2)]." align=center>".$fileOwner[$i]."</td><td bgcolor=#".$colors[2*($count%2)+1]." align=center>".$fileLastMod[$i]."</td><td bgcolor=#".$colors[2*($count%2)]." align=center>$currentFileSize</td></tr>\n";
$count++;}
echo "</table>";
}else{

// ECHO FILE LIST IN "BIG ICON" MODE

$count=0;
echo "<br><br>\n<table cellpadding=0 cellspacing=0><tr>\n";
for($i=0;$i<sizeof($folders);$i++){
if($count && !($count%5)){echo "</tr></table><br><br>\n<table cellpadding=0 cellspacing=0><tr>\n";}
echo "<td width=150 align=center valign=top><form action=\"".$scriptName."?lang=$lang&dispMode=$dispMode\" method=POST><acronym title=\"".$content[$lang]["clickFold"]."\"><img style=cursor:hand;cursor:pointer src=\"".ftp_folder_image_src."\" onclick=\"sendForm('folder','go','".$foldersJS[$i]."','')\"></acronym><br><br><input name=sessID type=hidden value=$sessID><input name=curFold type=hidden value=\"$curFold\"><input name=doAction type=hidden value=rn><input name=actionType type=hidden value=folder><input name=orgName type=hidden value=\"".$foldersForm[$i]."\"><acronym title=\"".$content[$lang]["renFold"]."\"><input size=15 name=rnName type=text maxlength=128 class=i_mid value=\"".$foldersForm[$i]."\"></acronym><br><br><input type=button class=i_top value=\"".$content[$lang]["rmFold"]."\" onclick=\"if(window.confirm('".$content[$lang]["rmFoldAlert"]."?')){sendForm('folder','rm','".$foldersJS[$i]."','')}\"></form></td>\n";
$count++;}
for($i=0;$i<sizeof($files);$i++){
$currentFileSize=$fileSizes[$i]/1048576;
if($currentFileSize<1){
$currentFileSize*=1024;
$currentFileSize=substr("$currentFileSize",0,strpos("$currentFileSize",".")+3)." ".$content[$lang]["KB"];
}elseif($currentFileSize>1024){
$currentFileSize/=1024;
$currentFileSize=substr("$currentFileSize",0,strpos("$currentFileSize",".")+3)." ".$content[$lang]["GB"];
}else{
$currentFileSize=substr("$currentFileSize",0,strpos("$currentFileSize",".")+3)." ".$content[$lang]["MB"];;}
if(!$fileSizes[$i]){
$fileSubtitle=$content[$lang]["noSize"];
}elseif($fileSizes[$i]>$dlLimit*1048576){
$fileSubtitle=$content[$lang]["tooBig"]." ($currentFileSize)";
}else{
$fileSubtitle=$content[$lang]["dlFile"]." ($currentFileSize)";}
if($count && !($count%5)){echo "</tr></table><br><br>\n<table cellpadding=0 cellspacing=0><tr>\n";}
echo "<td width=150 align=center valign=top><form action=\"".$scriptName."?lang=$lang&dispMode=$dispMode\" method=POST><acronym title=\"$fileSubtitle\"><img style=cursor:hand;cursor:pointer src=\"".ftp_file_image_src."\" onclick=\"sendForm('file','go','".$filesJS[$i]."','')\"></acronym><br><br><input name=sessID type=hidden value=$sessID><input name=curFold type=hidden value=\"$curFold\"><input name=doAction type=hidden value=rn><input name=actionType type=hidden value=file><input name=orgName type=hidden value=\"".$filesForm[$i]."\"><acronym title=\"".$content[$lang]["renFile"]."\"><input size=15 name=rnName type=text maxlength=128 class=i_mid value=\"".$filesForm[$i]."\"></acronym><br><br><input type=button class=i_top value=\"".$content[$lang]["rmFile"]."\" onclick=\"if(window.confirm('".$content[$lang]["rmFileAlert"]."?')){sendForm('file','rm','".$filesJS[$i]."','')}\"></form></td>\n";
$count++;}
echo "</tr></table>";}}
}else{

// CONNECTION TO FTP SERVER FAILED!!

ftp_quit($conn_id);
echo $content[$lang]["ftpfail1"].filterHTML($hostname).$content[$lang]["ftpfail2"].$port.$content[$lang]["ftpfail3"].filterHTML($username).$content[$lang]["ftpfail4"];
session_name("sessID");
// session_id($sessID);
session_start();
session_unset();
session_write_close();
session_start();
session_destroy();
setcookie(session_name(),"",0,"/");}
}else{

// IP MISMATCH... HACK ATTEMPT? LET'S DESTROY THAT SESSION...

if($sessID)
{
session_name("sessID");
// session_id($sessID);
session_start();
session_unset();
session_write_close();
session_start();
session_destroy();
setcookie(session_name(),"",0,"/");
}
echo (strlen($sessInfo["ip"])>0 ? $content[$lang]["nosession"] : $content[$lang]["emptysession"]);}}
}else{

// THE USER DID NOT HAVE A SESSION ID... SO LET'S OUTPUT THE "LOGIN" FORM

echo "<form action=\"".$scriptName."?lang=$lang\" method=POST>\n<input type=hidden name=sessID value=connect>\n<table width=100% border=0 cellpadding=3>\n<tr><td align=right width=47%>".$content[$lang]["formdata"][0]." : </td>\n<td><input size=20 name=host type=text maxlength=128 value=\"".htmlspecialchars(str_replace(array("\\\"","\\'","\\\\"),array("\"","'","\\"),$host))."\"></td></tr>\n<tr><td align=right>".$content[$lang]["formdata"][1]." : </td><td><input size=20 name=user type=text maxlength=128 value=\"".htmlspecialchars(str_replace(array("\\\"","\\'","\\\\"),array("\"","'","\\"),$user))."\"></td></tr>\n<tr><td align=right>".$content[$lang]["formdata"][2]." : </td><td><input size=20 name=pass type=password maxlength=128 value=\"".htmlspecialchars(str_replace(array("\\\"","\\'","\\\\"),array("\"","'","\\"),$pass))."\"></td></tr>\n<tr><td align=right>".$content[$lang]["formdata"][3]." : </td><td><input size=20 name=port type=text maxlength=5 value=$port></td></tr>\n<tr><td align=right>".$content[$lang]["formdata"][4]." : </td><td><input size=20 name=curFold type=text maxlength=128 value=\"".htmlspecialchars(str_replace(array("\\\"","\\'","\\\\"),array("\"","'","\\"),$folder))."\"></td></tr>\n<tr><td align=right>".$content[$lang]["formdata"][5]." : </td><td><select name=dispMode><option selected value=normal>".$content[$lang]["formdata"][6]."<option value=detailed>".$content[$lang]["formdata"][7]."</select></td></tr>\n<tr><td align=right>".$content[$lang]["formdata"][8]." ? </td><td><select name=usePassive><option".($passive?" ":" selected ")."value=0>".$content[$lang]["formdata"][9]."<option".($passive?" selected ":" ")."value=1>".$content[$lang]["formdata"][10]."</select></td></tr></table><br>\n<input type=submit value=\"".$content[$lang]["formdata"][11]." !\"></form><br><br>".$content[$lang]["explain"];}

// LANGUAGE SELECTION

if($sessID){
echo "<form action=\"".$scriptName."?dispMode=$dispMode\" name=lang method=POST><input type=hidden name=sessID value=$sessID><input name=curFold type=hidden value=\"$curFold\"><input type=hidden name=lang></form>\n<script>function setLang(lang){document.lang.elements[2].value=lang;document.lang.submit()}</script>";
$howto1="javascript:setLang('";
$howto2="')";
}else{
echo "<br><br>";
$howto1=$scriptName."?lang=";
$howto2="";}

// END OF "LANGUAGE SELECTION"

// CALCULATE TIME

echo "\n<font size=1>".$content[$lang]["end"]."\n<font size=2><br><br></font><font size=1>";
$separ="";
for($i=0;$i<sizeof($langs);$i++){
if($langs[$i]!=$lang){
echo "$separ<a href=\"".$howto1.$langs[$i].$howto2."\">".$langExps[$i]."</a>";
$separ="<!--a href=\"/admin/admin.php\">Zur&uuml;ck zum Adminmen&uuml;</a-->Um ein Musikfile hochzuladen einfach auf go drücken und dann das File rechts oben mit durchsuchen auswählen. Wenn fertig dann Hochladen. <br>
Wichtig keine größeren Dateien als 1mb hochladen, das kann dann probleme bereiten. Sollte die Datei größer sein versuch es vielleicht klappt es. Du befindest dich schon im Ordner Musik hier müssen die Songs rein sonnst geht es nicht. Bei Fragen wie gehabt Mail an mich anrufen.";}}
//echo "<font size=2><br><br></font><font size=1>\n<a href=http://contact.ali.tokmen.com target=_blank>http://contact.ali.tokmen.com</a><br>\n<a href=http://ali.tokmen.com target=_blank>http://ali.tokmen.com</a>\n<br><br><br>".$content[$lang]["genTime1"].substr(getmicrotime()-PAGE_START_TIME,0,6).$content[$lang]["genTime2"];

// COMPRESS OUTPUT AND SEND IT

if(ZIP_IT && !headers_sent()){
echo $content[$lang]["zipped"]."</font></center>";
header('Content-Encoding: gzip');
$gzip_contents=ob_get_contents();
ob_end_clean();

$gzip_size=strlen($gzip_contents);
$gzip_crc=crc32($gzip_contents);

$gzip_contents=gzcompress($gzip_contents,9);
$gzip_contents=substr($gzip_contents,0,strlen($gzip_contents)-4);

echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
echo $gzip_contents;
echo pack('V',$gzip_crc);
echo pack('V',$gzip_size);
}else{
echo $content[$lang]["notZipped"]."</font></center>";
ob_end_flush();}

// END OF THE FTP SCRIPT...

die();

?>
----------------------------------------------------------------------------------------------------------------------------

Nach oben