Jump to content
ghici

[Tutorial] Cum se face upload pe un server web cu PHP

Recommended Posts

Ma chinuiam mai devreme sa fac un 'sig-bar' ca tot sunt la moda si am dat de o problema. L-am facut si am vrut sa-l uploadez la arbornet.org dar... nu am putut. ftp-ul nu mergea. L-am uploadat pe un alt site si am incercat cu wget si fetch in ideea ca pot sa-l scot de acolo (vroiam neaparat arbornet) dar nu mergea nicicum... nu am dreptul sa folosesc wget sau fetch...

OK, am tras aer in piept si am zis "E timpul pentru un mini-hack." Ca sa am, totusi, fisierul operabilus.jpg acolo am facut un script PHP (arbornet ofera si suport PHP) care citeste fisierul dintr-o locatie externa si il scrie intr-un fisier local. A mers totul ok fara nici o problema si m-am gandit sa pun aici scriptul in ideea ca poate cineva va avea nevoie de o solutie asemanatoare. Scriptul arata cam asa:

Code:

<?php

$fp = f open('http://www.site-ul_meu.ro/fisier.jpg','r');

if(!$fp)

       die('Nu pot citi fisierul remote');

$f2 = f open('operabilus.jpg','w');

while(!feof($fp)){

       $c = fgetc($fp);

       f write($f2,$c,1);

}

?>

OK, ce face ? $fp e un pointer catre fisierul fisier.jpg de pe site-ul pe care am pus imaginea initial si $f2 e un pointer catre un fisier local gol (daca nu e gol va fi sters continutul cand se deschide) in care punem fiecare caracter citit din $fp. Adica, copiem caracter cu caracter $fp in $f2.

Problema putea fi rezolvata si altfel... sa fac un formular cu un camp 'file' iar apoi sa copiez din $_FILES fisierul in locatia care ma intereseaza, dar am preferat varianta caracter-cu-caracter pentru ca poate fi rulata si din shell, nu trebuie apelata neaparat prin web. Adica, metoda functioneaza pe orice server care are PHP instalat chiar daca nu ruleaza nici un server web pe sistem sau daca ruleaza un server web dar din diferite motive (restructii htaccess) nu puteti accesa nici o pagina.

Sper sa gasiti textul de mai sus educativ.

Bafta !

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...