FTP: hoe moet ik beginnen?
Wij moeten een upload script maken, maar de filmpjes zijn om een of andere reden te groot, en willen dus niet uploaden.
Wij hebben besloten om nu FTP te gaan gebruiken.
We gebruiken XAMPP waarbij FileZilla al geinstalleerd is.
Maar we hebben geen flauw idee wat we nu moeten...
Kan iemand ons helpen?
FTP betekent File Transfer Protocol. Je kunt met een simpel programma bestanden op een server zetten. Je moet daarvoor een servernaam ingeven, een gebruikersnaam en een wachtwoord. Die kun je zelf aanmaken op een controlpanel van de hosting van je website of het hosting bedrijf kan dit voor je doen. Als je daarmee op het FTP inlogt kun je net zoals in windows gewoon bestanden uitwisselen met je server.
@Kevin een vb scriptje
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$ftp = ftp_connect($host,$port,$timeout);
ftp_login($ftp,$user,$pass);
$ret = ftp_nb_put($ftp, $dest_file, $source_file, FTP_BINARY, FTP_AUTORESUME);
while (FTP_MOREDATA == $ret)
{
$ret = ftp_nb_continue($ftp);
}
?>
$ftp = ftp_connect($host,$port,$timeout);
ftp_login($ftp,$user,$pass);
$ret = ftp_nb_put($ftp, $dest_file, $source_file, FTP_BINARY, FTP_AUTORESUME);
while (FTP_MOREDATA == $ret)
{
$ret = ftp_nb_continue($ftp);
}
?>
Als je hele uitgebreide wilt, er zijn genoeg examples op internet te vinden. Je moet gewoon even googlen op file upload script ftp with php o.i.d.
@reshad, bedankt, en ik had inderdaad ook al een paar scriptjes gevonden, maar toen kwam ik achter wat albert hierboven uitlegde, server, username password en dat soort dingen...
@pepijn, dat ligt aan hoegroot het filmpje is. de grootste die we zelf gebruiken om te testen, zit rond 4MB, en de rest is 23KB of kleiner. Heb je daar iets aan?
Alvast bedankt!
Daarvoor zou je dus in je php.ini dat moeten aanpassen.
Als je daar niet bij kunt, dan dan je bovenin je script dit plaatsen:
Ook zou je even moeten kijken naar max_upload_size.
Gewijzigd op 02/03/2013 08:54:32 door Bart V B
Dat zal ik eens uitproberen, dat zou inderdaad wel eens kunnen helpen.
@Frank
Dat ziet er wel handig uit, als de regel van Bart niet werkt zal ik eens kijken wat Jumploader voor mij aan mogelijkheden heeft te bieden.
Alvast bedankt!
Ik zal eens kijken wat Jumploader kan doen.
In de tussentijd: het script.
Kunnen jullie eens kijken waar de fout zit? Wat ik weet, is dat hij ergens in de eerste regels fout gaat.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
ini_set('max_execution_time', 300); // vijf minuten
//image types and file size
if ( ( ($_FILES["file"]["type"] == "video/mpeg")
|| ($_FILES["file"]["type"] == "video/mp4")
|| ($_FILES["file"]["type"] == "video/flv")
|| ($_FILES["file"]["type"] == "video/wmv") )
&& ($_FILES["file"]["size"] < 2000000000)) //2.000.000.000 = 2GB
{
if ($_FILES["file"]["error"] > 0)
{ echo "Return Code: " . $_FILES["file"]["error"] . "<br />";}
else
{ //temporary storage
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{ echo $_FILES["file"]["name"] . " already exists. "; }
else
{
//storage of file
move_uploaded_file($_FILES["file"]["tmp_name"],
"uploads2/" . $_FILES["file"]["name"]);
echo "Stored in: " . "uploads2/" . $_FILES["file"]["name"];
} } }
else
{ echo "<a href='javascript:history.back()'>Invalid file!</a><br />"; }
?>
ini_set('max_execution_time', 300); // vijf minuten
//image types and file size
if ( ( ($_FILES["file"]["type"] == "video/mpeg")
|| ($_FILES["file"]["type"] == "video/mp4")
|| ($_FILES["file"]["type"] == "video/flv")
|| ($_FILES["file"]["type"] == "video/wmv") )
&& ($_FILES["file"]["size"] < 2000000000)) //2.000.000.000 = 2GB
{
if ($_FILES["file"]["error"] > 0)
{ echo "Return Code: " . $_FILES["file"]["error"] . "<br />";}
else
{ //temporary storage
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{ echo $_FILES["file"]["name"] . " already exists. "; }
else
{
//storage of file
move_uploaded_file($_FILES["file"]["tmp_name"],
"uploads2/" . $_FILES["file"]["name"]);
echo "Stored in: " . "uploads2/" . $_FILES["file"]["name"];
} } }
else
{ echo "<a href='javascript:history.back()'>Invalid file!</a><br />"; }
?>
De error die ik krijg, is de Invalid File!
Het gaat dus fout in de
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
//image types and file size
if ( ( ($_FILES["file"]["type"] == "video/mpeg")
|| ($_FILES["file"]["type"] == "video/mp4")
|| ($_FILES["file"]["type"] == "video/flv")
|| ($_FILES["file"]["type"] == "video/wmv") )
&& ($_FILES["file"]["size"] < 2000000000)) //2.000.000.000 = 2GB
{ ?>
//image types and file size
if ( ( ($_FILES["file"]["type"] == "video/mpeg")
|| ($_FILES["file"]["type"] == "video/mp4")
|| ($_FILES["file"]["type"] == "video/flv")
|| ($_FILES["file"]["type"] == "video/wmv") )
&& ($_FILES["file"]["size"] < 2000000000)) //2.000.000.000 = 2GB
{ ?>
Deze if is false, hij gaat dus naar de elsetoe.
Het bestand is echter wel legitiem MP4 van 28.335 KB
Alvast bedankt!
Gewijzigd op 08/03/2013 13:09:33 door Kevin Zegikniet
print_r($_FILES);
Bij bovenstaande script levert dat
Array ( ) Verkeerde Bestand!
op...
Ik heb geen flauw idee wat ik nu moet doen...?
Gewijzigd op 08/03/2013 14:37:43 door Kevin Zegikniet
Hoe ziet je <form ......> er uit? Staat vast geen enctype in.
Gewijzigd op 08/03/2013 14:51:14 door - SanThe -
Script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<html>
<head>
<title>Video Uploaden!</title>
<link rel="icon" type="image/ico" href="/images/favicon.ico" />
</head>
<body bgcolor="#DFDFDF"><center>
<a href="index.html"><img border="0" src="/images/mytube.jpeg" alt="My Tube Hoofdpagina" width="250" height="98"></a>
<br><b>
<?php echo generateRandomString(); ?><br>
<a href="index.html">INDEX</a></b>
<br><br>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
Script 1: upload_file <input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
<br><br>
<form action="uploadertest.php" method="post"
enctype="multipart/form-data">
<label for="file">Script 2: uploadertest</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</center></body></html>
<head>
<title>Video Uploaden!</title>
<link rel="icon" type="image/ico" href="/images/favicon.ico" />
</head>
<body bgcolor="#DFDFDF"><center>
<a href="index.html"><img border="0" src="/images/mytube.jpeg" alt="My Tube Hoofdpagina" width="250" height="98"></a>
<br><b>
<?php echo generateRandomString(); ?><br>
<a href="index.html">INDEX</a></b>
<br><br>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
Script 1: upload_file <input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
<br><br>
<form action="uploadertest.php" method="post"
enctype="multipart/form-data">
<label for="file">Script 2: uploadertest</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</center></body></html>
NB: het verstuurt inderdaad naar twee verschillende scripts, waarvan beide het niet doen.
Bovenstaande script in een reactie terug, is de eerste
Toevoeging op 08/03/2013 14:57:46:
Dit heeft trouwens niets met FTP te maken.
En het heeft inderdaad niks met FTP te maken, maar dit is precies het probleem waarom we met FTP wilden werken.
print post zou ik net doen ja, maarja. XAMPP.
Ik zal eens even de computer opnieuw opstarten, kijken of dat wat uithaalt.
Toevoeging op 08/03/2013 15:09:33:
ben ik weer. XAMPP is gefixt
Upload tweede form weggehaald (tussen <!-- en -- gezet?)
print post en print files geven beide:
Array ( )
Dus die zijn leeg.
Gewijzigd op 08/03/2013 15:12:43 door Kevin Zegikniet
Dan werkt het formulier blijkbaar niet.
Kijk eens in de broncode of de html wel correct is.
Ik zal voor de zekerheid even testen, maar het heeft het wel gedaan iig met 12KB
Toevoeging op 08/03/2013 15:15:16:
Ehm... K*T
Nu geprobeerd met een avi van 1.5 KB en dit kwam eruit (print files, print post)
Array ( [file] => Array ( [name] => Dogfoot.avi [type] => video/avi [tmp_name] => B:\xampp\tmp\php3F8.tmp [error] => 0 => 1722368 ) )
Array ( [submit] => Submit )
Verkeerde bestand!
Waar komt 'Verkeerde bestand!' vandaan?
Array ( [file] => Array ( [name] => jam-with-chrome.mp4 [type] => audio/mp4 [tmp_name] => B:\xampp\tmp\php3FA.tmp [error] => 0 => 12767102 ) )
Array ( [submit] => Submit )
Verkeerde bestand!
3.6 KB FLV
Array ( [file] => Array ( [name] => mario.flv [type] => video/flv [tmp_name] => B:\xampp\tmp\php3FB.tmp [error] => 0 => 3691572 ) )
Array ( [submit] => Submit )
Upload: mario.flv
Type: video/flv
Grootte: 3605.05078125 kB
Opgeslagen in: uploads/mario.flv
Dus de laatste is wel gelukt... yay?
Ik moet er ook bijzeggen: de eerste was binnen een seconde geladen, de tweede duurde relatief erg lang, en de derde zat er middenin.
En als ik dan 3.6kB filmpje probeer die ik in mp4 heb omgezet:
Array ( [file] => Array ( [name] => mario.mp4 [type] => audio/mp4 [tmp_name] => B:\xampp\tmp\php3FC.tmp [error] => 0 => 3691572 ) )
Array ( [submit] => Submit )
Verkeerde bestand!
Toevoeging op 08/03/2013 15:21:42:
- SanThe - op 08/03/2013 15:17:58:
Dus nu post die wel.
Waar komt 'Verkeerde bestand!' vandaan?
Waar komt 'Verkeerde bestand!' vandaan?
hardcoded in het script. is een hyperlink naar:
Toevoeging op 08/03/2013 15:24:44:
En als ik een filmpje van 23 kB probeer:
Array ( )
Array ( )
Verkeerde bestand!
Gewijzigd op 08/03/2013 15:25:08 door Kevin Zegikniet
&& ($_FILES["file"]["size"] < 2000000000)
Toevoeging op 08/03/2013 15:26:39:
En wat zijn de instellingen in php.ini wat betreft file uploads?
Geen flauw idee. ik stuur hem wel even. kan dat hier ergens als bijlage?
EDIT: nope. doet niks
Toevoeging op 08/03/2013 15:41:47:
EDIT: ik heb even een regeltje eringezet dat 'ie ook avi accepteert, en ik kan nu het filmpje van 1.6 kb wel uploaden. YAY
Hij wil dus nu avi 1.6 kB en flv 3.6 kB uploaden, maar mp4 3.6kB en flv 12kB niet. En alles wat groter is, resulteert in lege print files en print post
Gewijzigd op 08/03/2013 15:46:26 door Kevin Zegikniet