Nejste přihlášeni
Stránky 1
Mým cílem je takový malý formulář pro odesílání souborů do mého FTP tady na Endoře napojený na php skript:
Po kliknutí na tlačítko se skript připojí (connected), login tedy proběhne, pak se soubor pár vteřin nahrává, procenta dole na status baru dorazí na 100%, pak zpráva "čekám na odpověd serveru.....", a pak skript skončí chybou.
http://knihovnaneee.8u.cz/anf.html
Tady je výstup :
Connected to srva0.endora.cz, for user kristianchytry
FTP upload has failed!
Exiting ...
Jak zjistit v čem je problém?
kod skriptu je tady:
Upravil kristianchytry (2014-09-04 16:41:07)
Offline
TargetName přichází z formuláře výše:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Upload a File</title>
</head>
<body>
File Upload<br>
<br>
<br>
<form enctype="multipart/form-data" action="upload.php" method="post">
<input name="MAX_FILE_SIZE" value="100000"
type="hidden">Choose a file to upload: <input
name="uploadedfile" type="file"><br>
<br>
Name on Server:
<input maxlength="20" size="20" name="TargetName"><br>
<br>
<input value="Upload File" type="submit">
</form>
</body>
</html>
Upravil kristianchytry (2014-09-04 16:46:45)
Offline
Ale samotná premenná ($TargetName) nie je deklarovaná. To čo robíte by fungovalo jedine ak by register_globals bol zapnutý, ale od verzie PHP 4.2.0 je register_globals je nastavený na Off z bezpečnostných dôvodov. Od PHP 5.3 je táto vec už zastaralá. Takže túto premennú si budete musieť deklarovať:
$TargetName = trim($_POST['TargetName']);
Viac info o register_globals nájdete napr. tu: http://stackoverflow.com/questions/3593 … als-in-php
Portfólio
E-mail: eduard(at)karpiel.sk
Offline
Diky moc. To jsem nevedel, Jsem php zacatecnik, ALE upravil jsem kod a stale stejna chyba
<?php
// Set up the settings
// ******
// ******
// We can give you a dedicated additional FTP logon just for this ....
$ftp_server = 'srva0.endora.cz';
$ftpuser = 'kristianchytry';
$ftppass = '************';
// Capture the file details from the input form ...
$source1 = $_FILES['uploadedfile']['tmp_name'];
$source2 = $_FILES['uploadedfile']['name'];
$source_file = $source1;
$TargetName = trim($_POST['TargetName']);
// Set the target folder ....
$target_dir = "/knihovnaneee.8u.cz/web/new/";
// Build the full target filename ...
$target = $target_dir . $TargetName;
// Connect to the webserver...
$conn_id = ftp_connect($ftp_server);
// Login with username and password
$login_result = ftp_login($conn_id, $ftpuser, $ftppass);
// Check connection
if ((!$conn_id) || (!$login_result)) {
print ("FTP connection has failed!<BR>");
print ("Attempted to connect to " . $ftp_server . " for user " . $ftpuser ."<BR>");
exit;
} else {
print ("Connected to " . $ftp_server . ", for user " . $ftpuser . "<BR>");
}
// Upload the file .....
$upload = ftp_put($conn_id, $target, $source_file, FTP_ASCII);
// Check upload status
if (!$upload) {
print ("FTP upload has failed! <BR>");
} else {
print ($source2 . " Uploaded as " . $target . "<BR>");
print ("Upload OK <BR>");
}
// Close the connection ...
ftp_close($conn_id);
print ("Exiting ...<BR>");
?>
Upravil kristianchytry (2014-09-04 17:03:05)
Offline
Skúste zmeniť tieto riadky:
$target_dir = "/knihovnaneee.8u.cz/web/new/";
na
$target_dir = "knihovnaneee.8u.cz/web/new/";
a
$upload = ftp_put($conn_id, $target, $source_file, FTP_ASCII);
na
$upload = ftp_put($conn_id, $target, $source_file, FTP_BINARY);
Portfólio
E-mail: eduard(at)karpiel.sk
Offline
Přidal jsem print ("TARGET" . $target);
a najednou to běží, nechápu a ještě jednou strašně moc díky.. se s tím peru snad hodinu
Offline
Tak jsem náhodně nahrál uspešně asi 3 soubory a už to zase nefunguje..
V čem může být problém?
Upravil kristianchytry (2014-09-04 17:44:12)
Offline
Osobne ale nechápem prečo nahrávanie vykonávate pomocou FTP ak daný súbor ukladáte na FTP priestor kde je umiestnený i php skript ktorým súbor nahrávate. Tu by postačovalo použiť napríklad http://cz1.php.net/manual/en/function.m … d-file.php čo ušetrí tak 30 riadkov v php kóde.
Offline
Skúsili ste zmeniť na FTP_BINARY?
změnil, nepomohlo
Offline
Osobne ale nechápem prečo nahrávanie vykonávate pomocou FTP ak daný súbor ukladáte na FTP priestor kde je umiestnený i php skript ktorým súbor nahrávate. Tu by postačovalo použiť napríklad http://cz1.php.net/manual/en/function.m … d-file.php čo ušetrí tak 30 riadkov v php kóde.
nefunguje viz:
http://podpora.endora.cz/viewtopic.php?id=10201
Offline
NOVÉ ZJIŠTĚNÍ:
FUNGUJE JEN PRO MENŠÍ SOUBORY - 70KB
CHYBA SE PROJEVUJE AŽ U VĚTŠÍCH
co s tím? potřebuju uploadovat 1000KB
Upravil kristianchytry (2014-09-05 14:15:24)
Offline
Založil jsem nové téma, protože jde v podstatě o úplně jiný problém - jakési omezení uploadu souborů nad 500kB,kteremu nerozumím.
Offline
nemam problem, nahral jsem k vam soubor o vel. 2.8MB
W3C validator | Performance tools | Stavové kódy HTTP | Fiddle | Codepen | Ideone | XAMPP
Offline
Můžete mi napsat podrobnosti?
Nikde ho na ftp nevidím
Upravil kksmirice (2014-09-06 08:37:48)
Offline
soubor CZ7901_RT-N12D1_Manual_Czech.pdf 2 865 337
W3C validator | Performance tools | Stavové kódy HTTP | Fiddle | Codepen | Ideone | XAMPP
Offline
Stránky 1