Autor Zpráva
Gizzer
Profil *
Zdravím lidičky, potřeboval bych poradit.

Mám na svých stránkách ukládání obrázků do ftp ( ale bohužel to funguje jen pro nahrátí z PC ). Chtěl bych se zeptat jestli neexistuje nějaký script, který když by se zadala cesta na internetu k obrázku by tento obrázek uložil právě do ftp do složky např. images ( to je jedno ). Jestli někdo o něčem takovém ví, moc by mi to pomohlo a hlavně usnadnilo práci.
Keeehi
Profil
Mohlo by ti pomoct toto:
file_put_contents("images/obrazek.jpg",file_get_contents("http://www.example.com/obrazek.jpg"));
kordy
Profil
<b>Zadejte jmeno souboru:</b>
<FORM ACTION="upload.php" METHOD="post" ENCTYPE="multipart/form-data">
<INPUT TYPE="file" NAME="soubor" SIZE="40">
<INPUT TYPE="submit" NAME="ok" VALUE="Upload">
</FORM>
<?php
  $delimiter = strrpos($soubor_name, '.');
  $filename = $soubor_name;
  for ($i = 2; file_exists("slozky/$filename"); $i++)  
  {
    $filename = substr($soubor_name, 0, $delimiter).'_'.$i.substr($soubor_name, $delimiter);
  }
$soubor = ($_FILES["soubor"]["tmp_name"]);
$ok = ($_POST["ok"]);
if ($ok == "Upload" && $soubor_name!="")
{
    if (file_exists("slozky/$filename")){ // pokud soubor existuje
        $soubor_name=time()."_".$filename; // přidáme mu jako prefix time();
    }  
    if (move_uploaded_file($soubor, "slozky/".$filename))
        {
        chmod ("slozky/".$filename, 0777);
        echo "<b>Soubor $filename byl nahran na server</b><BR>";
        }
    else
        {
        echo "<b>Chyba - soubor nebyl nahran</b><BR>";
        }

máš to i s ochranou proti přepsání :) pokud nechceš aby ti tam dávali uživatele něco jinýho než obrázky je to třeba ošetřit...

edit: TEĎ JSEM TO DOČET CELÝ O SCRIPTU CO TO STAHUJE A UKLADA NEVIM...
Gizzer
Profil *
Ten první je celkem fajn, ale potřeboval bych, aby se tam při stažení do ftp nastavila nějaká pevná velikost a to, 100 x 139 pixelů ( šířká ×výška ).

PS: Mám nastavené že jen já mohu upravovat příspěvek a když je obrázek špatný, hodilo by se mi aby to šlo přepsat, půjde to ještě poupravit, to druhé ? :).
Keeehi
Profil
<?php
$filename = 'soubor.jpg';

header('Content-type: image/jpeg');

list($width, $height) = getimagesize($filename);
$new_width = 100;
$new_height = 139;

$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

imagejpeg($image_p, null, 100);
?>
Na změnu velikosti můžeš použít třeba tento kód. Nikdy ale nepřepisuj stažený originál (tento kód nic neukládá, takže ani nepřepisuje). Můžeš ukládat zmenšené kopie, ale originál by měl zůstat bez změn.
Gizzer
Profil *
Díky moc. Zkusím to a dám vědět :).
Gizzer
Profil *
Tak ten script druhý je mi k ničemu, načítá to jen obrázky z PC
Potřebuju do tohoto nastavit automatickou velikost jak jsem zmiňoval nahoře

file_put_contents("images/obrazek.jpg",file_get_contents("http://www.example.com/obrazek.jpg"));
Keeehi
Profil
Vždyť ano. Prvním ho stáhnete, druhým ho zmenšíte. Pokud nevíte, jak je zkombinovat, vraťte se zpátky, a pořádně se naučte základy programování.
Gizzer
Profil *
Promiň, špatně jsem to pochopil. Díky :)
Mr.X
Profil *
Mám prosbu. Pomáhal mi kámoš a toto mi napsal, mohl by jsi to nějak přispůsobit prosím ?

-----
hele je mi líto, ale ten skript co ti ten člověk poslal nefunguje
evidentně ho ani nezkoušel
bylo tam jednou navíc
bohužel práci s gd knihovnou (pro práci s obrázkama) nerozumim...
ale když zvládnul napsat tohle tak tomu rozumí
-----
takže ho popros o to (přesně tak jak ti to říkám) aby napsal php skript, kterej si bude brát v proměnný (řetezec) adresu obrázku, uloží ho a upraví jeho velikost... prostě potřebuju část kódu která to udělá celý... ne že bych to nezvlád, ale studovat hodiny manuál kvůli jednomu skriptu se mi fakt nechce...
-----
to kam se to uloží ať neřeší a nechá tam to svoje "slozky/$obrazek", akorát ať mi kdyžtak všechny místa kde musim napsat umístění obrázku označí komentářem
a ať to otestuje, tady mi třeba nefunguje řádek header (píše mi to header already sent)
-----
prostě jen potřebuju kousek kódu kterýmu se předá adresa a on už to uloží a zmenší, jinak to asi dohromady nedám
klidně mu napiš že jsem amatér a nerozumim tomu, hlavně ať to udělá



PS: DĚKUJI MOCKRÁT ZA SNAHU
Keeehi
Profil
Mr.X:
ale studovat hodiny manuál kvůli jednomu skriptu se mi fakt nechce.
Ach ta lenost. Ale když by se to naučil, tak už by to mohl použít příště, a potom taky, a potom taky, ….

header already sent
To není moje vina, může si za to sám. Jak to spravit: v FAQ

ale když tak prosí: (ono se toho moc měnit nemusí, viz zakomentování a malá změna v imagejpeg)
<?php
$filename = 'soubor.jpg';

//header('Content-type: image/jpeg'); - při ukládání to tu nemá co dělat, takže smazat

list($width, $height) = getimagesize($filename);
$new_width = 100;
$new_height = 139;

$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

imagejpeg($image_p, "maly_".$filename, 100);
?>

Sice jsem ho netestoval, ale jsem si jistý, že je to správně (jedná se jen o trochu poupravený script přímo z dokumentacve)
Mr.X
Profil *
Tisíceré díky. Máš to u mě!

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0