Pull to refresh

RE: Идея на тему больших картинок и ограничений хостингов

Reading time3 min
Views558
Этот пост является ответом на идею изложенную в этом топике

Суть: вы хозяин сайта и вам нужно ресайзнуть изображение заливаемое юзером, но у вас не достаточно для этого возможностей.
Решение: Мы делаем для вас «проксик» который все делает за вас и отдает вашему скрипту результат.
Как пользоваться:

В форме заливки изображения вы пишете примерно следующее

<form enctype="multipart/form-data" action="http://sjpg.ru/remoteupload.php" method="post" /&gt
Image:
<input name="Image" type="file" size="85" &gt <input type="submit" value="Upload" />
<input type="hidden" name="maxwidth" value="600" />
<input type="hidden" name="maxheight" value="700" />
<input type="hidden" name="quality" value="70" />
<input type="hidden" name="destination" value="sjpg.ru/upload.php" />
<input type="hidden" name="redirecturl" value="ya.ru" />
</form>


, где sjpg.ru/remoteupload.php — это наш прокси;
destination — это ваш скрипт которому мы зальем картинку в поле Image, также он получит все поля пост запроса которые нам пришлет юзер(так можно передавать сессии);
redirecturl — сюда сервер отправит пользователя после завершения закачки, но скорее всего до того как картинка попадет к вам на сервер.
в этом примере я заливаю картинку на свой же сайт и посылаю юзера в яндекс.

Вот в общем то и все.
Сервис очень сырой и сейчас захостен на штатовском шаредхостинге. Если будет заинтересованность перенесем в Маскву на вдс например.
Проблема достаточно специфичная и возможно поклонников окажется не так много.

Пробуйте и обязательно пишите отзывы.

upd:
Пример кода на php, который загружает картинку для сессии а потом ее выводит для юзера с этой сессией. Этот код всего лишь демонстрация, не делайте так на продакшне :)

<?php
if(isset($_FILES['Image'])&&isset($_POST['imageId'])){
move_uploaded_file($_FILES['Image']['tmp_name'], "images/".intval($_POST['imageId']).".jpg");
}
else{
session_start();
if(isset($_SESSION['imageId'])) {
echo '<img src="/images/'.$_SESSION['imageId'].'.jpg" />';
}
else {
$_SESSION['imageId']= rand();
?>
<form enctype="multipart/form-data" action="http://sjpg.ru/remoteupload.php" method="post" />
Image:
<input name="Image" type="file" size="85" > <input type="submit" value="Upload" />
<input type="hidden" name="maxwidth" value="120" />
<input type="hidden" name="maxheight" value="120" />
<input type="hidden" name="quality" value="85" />
<input type="hidden" name="destination" value="yourdomain.domain/test.php" />
<input type="hidden" name="redirecturl" value="yourdomain.domain/test.php" />
<input type="hidden" name="imageId" value="<?php echo $_SESSION['imageId']; ?>" />
</form>

<?php
}
}
?>


Попробовать эту штуку, как клиент можно по адресу c2009.ru/test.php, там точно такой же код, только домен другой.
Tags:
Hubs:
+18
Comments27

Articles

Change theme settings