Jump to content
php.lv forumi

ftp konekcija + thumbnails


localhero

Recommended Posts

Ir skripts kas uploado bildes caur ftp. Ka iztaisit lai vinsh uztaisa vel arii thumbnailus vai vismaz uploadejot samazina bildi lidz vajadzigam izmeram. rakstishana failos uz servera ir atslegta(lathost.lv serveris). Man interese ikviena domas un viedoklis par teemu! Kods apskatams sheit:

http://paste.php.lv/4835

Link to comment
Share on other sites

Hmm nu ja es arii visaadi izmeginajos bet nekas nesanaca. Domaju varbut kadam ir bijis lidzigs gadijums. ka butu ar tadu scenariju:

is_uploaded_file - parbauda vai kaut kas tiek sutits

samazina bildi

ftp_put - ieliekam bildi uz servera

 

Vienigi problemas sakas kad es samazinu bildi. tad izmet eroru ka ftp_put netiek padots strings :(

Link to comment
Share on other sites

Jā - normāls serviss, kas akli nenogriež visu, ko vien var nogriezt. Varbūt pamēģini ar viņiem sazināties un izklāsti savu problēmu. Ja viņi nebūs ar mieru tev palīdzēt (piem., eneiblots failu rakstīšanu), tad sūti viņus trīs mājas tālāk.

 

PS. ftp_put pieņems tikai un vienigī stringu (faila nosaukumu) afaik

Link to comment
Share on other sites

Es šādu heveru dabūju gatavu uz ĻOTI apgraizīt servera apmēram šādi (safe-mode compatible):

 

/* bla bla bla */
//Uzmet failu un pasaka kas noticis
if(ftp_put($conn_id,$filename,$_FILES['userfiles']['tmp_name'],FTP_BINARY)) {
	echo "Fails ".$_FILES['userfiles']['name']." tika augshupielaadeets<br>";
	if (resize_jpg ($_FILES['userfiles']['tmp_name'],$_FILES['userfiles']['tmp_name'],100,100) && ftp_put($conn_id,$thumb_filename,$_FILES['userfiles']['tmp_name'],FTP_BINARY)) { // resize_jpg (source,target,sizeX,sizeY)
		echo 'un izveidots thumbnails.';
	} else {
		echo 'taču thumbnailu izveidot neizdevās.';
	}
}
/* bla bla bla */

 

Tobiš bildes resaizots tiek TEMP fails un tikai tad nolikts vajadzīgajā direktorijā, līdzīgi var resaizot arī lielo bildi (protams pirms thumbnaila ģenerēšanas).

 

Bet vispār failus safe-modē var pilnīgi mierīgi rakstīt izmantojot FTP:

$handle= fopen('ftp://'.FTP_USER.':'.FTP_PASS.'@'.FTP_HOST.'/'.$filename, 'wb');

un tālāk jau kā parasti...

Link to comment
Share on other sites

Ja jau ftp_put ir atļauts (vismaz tā sapratu), tad tak sanāk, ka ftp funkcijām ir write tiesības.

Ar to arī pilnīgi pietiek.

 

Vai arī serveris kaut kā baigi eksotiski nokonfigurēts, ka vienlaicīgi atļauj un aizliedz.

Link to comment
Share on other sites

Hmm, nu ja nu vienīgi uztaisīt thumbnailu, saglabāt uz tā paša servera un p�“c tam caur ftp uploud�“t. Un tad to failu izdz�“st. Tikai var�“tu būt l�“ni.

 

edit: šit, laikam saputrojos. Tai pašā serverī nav failu rediģēšanas tiesības, vai ne?

Eju gulēt.

Edited by Stopp
Link to comment
Share on other sites

Folderis "/var/tmp/" kurā faili tiek uploadoti ir writable ('drwxrwxrwt' ja precīzāk) un tajā tiek uploadoti faili no web formas.

Tālākais faila liktenis jau ir atkarīg no PHP konfigurācijas

Tad ftp_put (arī move_uploaded_file) tikai pārvieto failu "/var/tmp/phpSPa9f6" uz "/usr/userfolder/bla_bla/bilde.jpg". Un ne vairāk.

Vārdsakot failu var bakstīt kamēr viņš ir iekš "/var/tmp/"

 

Apmēram tā varētu būt, vismaz to es izsecināju no manu skriptu darbības, jo nekur neesmu lasījis aprakstu kā tas viss darbojas īstenībā.

Link to comment
Share on other sites

×
×
  • Create New...