Posiadam taki skrypt do wgrywania zdjęć do folderu "img" z formularza + zmniejszanie ich rozmiaru przed wgraniem:
<form enctype="multipart/form-data" action="u.php" method="post"> <input type="file" name="plik"><br /> <input type="submit" value="Wyślij na serwer"> </form> <br /> <? /****** image *******/ function imgType($name) { { return "IMAGETYPE_JPEG"; } { return "IMAGETYPE_GIF"; } { return "IMAGETYPE_PNG"; } } function resizeImage($source, $image_new_x, $save_image, $jpeg_quality = 100) { /* * source - obrazek jpeg * max_x - maksymalna szerokosc pomniejszonego obrazka * max_y - maksymalna dlugosc pomniejszonego obrazka * save_image - nazwa pliku do ktorego zostanie zapisany nowy obrazek * jpeg_quality - jakosc powstalego obrazu jpeg - jezeli bedzie inny to argument jest nie wazny (domyslnie 100) */ if(imgType($source) == "IMAGETYPE_JPEG") { $img_src = imagecreatefromjpeg($source); } elseif(imgType($source) == "IMAGETYPE_GIF") { $img_src = imagecreatefromgif($source); } elseif(imgType($source) == "IMAGETYPE_PNG") { $img_src = imagecreatefrompng($source); } else { } $image_x = imagesx($img_src); $image_y = imagesy($img_src); //ma byc proporcjonalna $image_new_y = $image_y*$image_new_x/$image_x; $new_img = imagecreatetruecolor($image_new_x, $image_new_y); $background = imagecolorallocate($new_img, 255, 255, 255); imagefill($new_img, 0, 0, $background); imagecopyresampled($new_img, $img_src, 0, 0, 0, 0, $image_new_x, $image_new_y, $image_x, $image_y); if(imgType($save_image) == "IMAGETYPE_JPEG") { imagejpeg($new_img, $save_image, $jpeg_quality); } elseif(imgType($save_image) == "IMAGETYPE_GIF") { imagegif($new_img, $save_image, $jpeg_quality); } elseif(imgType($save_image) == "IMAGETYPE_PNG") { imagepng($new_img, $save_image, $jpeg_quality); } } /****** image *******/ if($_FILES['plik']) { if ($_FILES['plik']['type']=="image/jpeg" || $_FILES['plik']['type']=="image/gif" || $_FILES['plik']['type']=="image/png") { $uploaded = "img/". $_FILES['plik']['name']; if ($_FILES['plik']['size'] > 1024*1024) { } else { } } else { } } else { } } { resizeImage('img/'.$_FILES['plik']['name'].'', 100,'img/'.$_FILES['plik']['name'].'', 50); // (4 parametr opcjonalnie dla jpg) } ?>
W jaki sposób można go przerobić, aby była możliwość wgrywania pliku zewnętrznego z linku URL?