|
[ FeelGood_84 @ 29.09.2008. 13:24 ] @
| Na milion načina sa pokuša, kod sam izmjenio 100 puta. Forum iščitao uzduž i poprijeko...
Evo o čemu se radi.
Želim materijal do 10, 15MB poslati na server. Za to koristim formu koja prosledjuje materijal php skripti, koja zatim preko ftp konekcije treba da smjesti fajl na server.
Skripta mi uporno prebacuje maksimalno 2MB. Sve fajlove preko te veličine prebaci samo 512KB, neke uopšte ne prebaci.
PHP CONFIG "upload_max_filesize" je postavljen na 2M.
Pokušao sam sa ini_set(), ali ne reaguje. Cak sam u cpanel na PHP CONFIGURATION postavio parametre za php4 pošto sam pročitao da ini_set ne radi dobro sa novijim verzijama, ali opet ništa.
Što se tiče .htaccess-a nije mi jasno na koji način da upišem u njega "php_flag upload_max_filesize 100", pokušao sam ručno da msjestim kod pod navodinicam (bez navodnika), medjutim izbaci mi grešku pri pokretanju skripte, i sajtu uopšte.
Volio bi da poradimo na ovom problemu, da ga riješimo. Vidim da Nemanja A. predlaže već gotove skripte. Medjutim ne mogu da vijerujem da je ovo tako komplikovano.
Pisao sam već jednom o ovome ali sve se završilo na... Uzmi gotovu skriptu (koja se, nažalost, plaća).
Šaljem vam kod, pa da riješimo i taj problem.
Code:
function forma_salji(){
echo '<div class="poruka">Pronadjite fajl koji želite dodati u materijal za preuzimanje.</div>';
echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'" enctype="multipart/form-data">
<input type="file" name="userfiles" />
<input type="submit" name="dodaj" value="Pošalji materijal" />
</form>';
}
Code:
if(isset($_REQUEST['dodaj'])){
ini_set('upload_max_filesize','10');
ini_set('post_max_size','20');
ini_set('memory_limit', '30');
$ftp_user_name=" [email protected]";
$ftp_user_pass="lozinka";
$ftp_server="ftp.mojsajt.com";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if((!$conn_id) || (!$login_result)) {
echo "Greška pri FTP konekciji!<br>";
exit;
}
$filename = $_FILES['userfiles']['name'];
$ekstenzija = explode('.', $filename);
$eks = $ekstenzija[1];
$rand = rand(0, 9999);
$novo_ime = $rand.'.'.$eks;
ftp_put($conn_id,$novo_ime,$_FILES['userfiles']['tmp_name'],FTP_BINARY);
ftp_close($conn_id);
forma_salji();}
else{
forma_salji();
}
|
[ Man-Wolf @ 29.09.2008. 17:01 ] @
Cekaj, jel to tvoj server ili neki shared hosting (free hosting). Ako nije tvoj server u pitanju, moguce je da ini_set() uopste ne izvrsi ono sto si hteo (poveca Max Upload Limit), tako da i dalje vazi limit od, cini mi se 2MB ?
Ja sam recimo imao takav problem na jednom free hosting-u i tek posle sam video u phpinfo() da je Max file size podesen na 1 ili 2MB, ne secam se vise ....
2. Jesi probao na nekom drugom host-u ??
3. Jel imas neki poseban razlog sto koristis ftp_connect umesto jednostavne funkcije move_uploaded_file() ??
3.a) Jesi probao koristeci ovu funkciju ??
[ FeelGood_84 @ 29.09.2008. 18:29 ] @
Server je moj. U phpinfo() Max Upload jeste 2MB. Ne mogu da ga promjenim, to je čini mi se uzrok cijelog problema.
Potrebno mi je, jer očekujem da će se uploadovati odsta veliki fajlovi.
Funkcija move_uploaded_file() koliko znam je takodje ograničena sa veličinom.
Mislim da se i na nju odnosi paramtar max upload iz phpinfo().
Možda sam nekad ranije probao, ne sjećam se, ali sad ću ponovo.
[ Nemanja Avramović @ 29.09.2008. 18:42 ] @
Ako ti je php instaliran kao CGI modul, onda ne možeš koristiti .htaccess za to već moraš napraviti php.ini u root-u sajta sa sled. podešavanjima:
Citat: upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 6000000
Ako nije CGI modul, onda ovakav .htaccess:
Citat: php_value post_max_size 100M
php_value upload_max_filesize 100M
php_value max_execution_time 6000000
Ako je tvoj server, zašto ručno ne izmeniš php.ini?
Ako sve ovo ne pomogne, probaj Jumploader. On može da podeli fajl i da ga uploaduje iz delova, ali nažalost, zahteva javu na klijentskoj strani (mada 95% ljudi ima već instaliranu javu):
http://www.jumploader.com/doc_partupload.html
[ FeelGood_84 @ 30.09.2008. 10:50 ] @
Probao sam da editujem .htaccess
Konstantno dobijam grešuku:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
.HTACCESS sam izmjeni na način koji preporučuju na drugim forumuima, znači u ANSI (ne u UTF-8) i uploadovan na server u ASCII modu.
Medjutim i dalje mi je greška : INTERNAL SERVER ERROR
U ERROR LOGU mi je sledeće.
Invalid command 'php_value', perhaps mis-spelled or defined by a module not included in the server configuration, referer: ...
Zakupio sam riseler, izgleda da ne mogu da editujem php.ini.
Na šta misliš kad kažeš root sajta "public_html" ili "root".
TREBA LI TAJ PHP.INI DA POZOVEM POSLE NE NEKOJ STRNICI?
[ Nemanja Avramović @ 30.09.2008. 19:47 ] @
root sajta je folder koji se otvara kad pristupiš sajtu na njegov domen ( www.nesto.com), što znači da je root sajta public_html u tvoj slučaju. Kada u njega ubaciš php.ini ne treba ništa više da radiš, trebalo bi da proradi (osim ako ne postoji neka zabrana da ne možeš koristiti php.ini, ili tako nešto)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|