---
title: "Hjälp med foto beskärnings app!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/192035-hjälp-med-foto-beskärnings-app"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Asa"
published: "2014-03-09T19:16:52.000Z"
updated: "2014-03-13T20:47:45.000Z"
replies: 17
views: 1568
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/192035-hjälp-med-foto-beskärnings-app"
---

# Hjälp med foto beskärnings app!

## #1 — Asa, 2014-03-09T19:16Z

Tänkte använda denna: <http://sa.ndropad.in/coverphoto/>

Vill då på något vis spara ner den bilden man skapar men har INGEN aning hur jag då skall göra. Någon som kan hjälpa till eller som har en redan fungerande app som gör detta?

Permalänk: https://www.webforum.nu/p/192035

## #2 — Jojoxx, 2014-03-10T07:22Z

Bilden sparas som base64-kodad PNG i variabeln dataUrl. Stoppa det värdet i ett formulärsfält, eller posta via ajax, till servern och packa upp datat med [base64_decode](http://se1.php.net/base64_decode).

Permalänk: https://www.webforum.nu/p/2315673

## #3 — Asa, 2014-03-10T20:23Z

Okej, ska se om jag kan fixa till det för fattar nada av base64 saken...

Permalänk: https://www.webforum.nu/p/2315676

## #4 — Jojoxx, 2014-03-11T08:56Z

Ok, det är inte så komplicerat. De flesta bildformat innehåller binärt data. [base64](http://sv.wikipedia.org/wiki/Base64) är ett sätt att koda (binärt) data med enbart [ascii](http://sv.wikipedia.org/wiki/ASCII)\-tecken. Detta för att det skall gå att transportera binärt data via andra format som i sig inte tillåter binärt data. Som exempelvis när du skickar ett mail. [base64_decode](http://se1.php.net/base64_decode) tar alltså en sträng med ascii-tecken och avkodar det till orginaldatat som ofta är binärt, som i detta fall en PNG-bild.

Permalänk: https://www.webforum.nu/p/2315680

## #5 — Asa, 2014-03-11T19:05Z

Nu har jag sökt runt och fattar inte hur jag ska skriva iallafall! Hur skriver jag i denna? Och vilket värde skall jag spara informationen i php sen?

```
  <script type="text/javascript">
    $(function() {
      $(".coverphoto").CoverPhoto({
        currentImage: '<?php echo $base_url; ?>coverphoto/funny.jpg',
        editable: true
      });
      $(".coverphoto").bind('coverPhotoUpdated', function(evt, dataUrl) {
        $(".output").empty();
        $("<img>").attr("src", dataUrl).appendTo(".output"); 
      });
    });
  </script>
```

Filen ska typ heta savephoto.php som jag skall spara ner detta. Kommer inte att skriva ut den omskurna bilden som den gör utan har hidden på .output

Permalänk: https://www.webforum.nu/p/2315683

## #6 — drew, 2014-03-11T21:24Z

Varför ska du ha output om du inte ska visa något? Då räcker det ju att skicka base64-koden till servern.

Permalänk: https://www.webforum.nu/p/2315685

## #7 — Asa, 2014-03-11T21:26Z

Det var så i koden på scriptet. Så nu vill jag ha hjälp hur jag ska skriva för att spara ner det via ajax!

Permalänk: https://www.webforum.nu/p/2315686

## #8 — Jojoxx, 2014-03-12T07:19Z

```
  <script type="text/javascript">
    $(function() {
      $(".coverphoto").CoverPhoto({
        currentImage: '<?php echo $base_url; ?>coverphoto/funny.jpg',
        editable: true
      });
      $(".coverphoto").bind('coverPhotoUpdated', function(evt, dataUrl) {
        $(".output").empty();
        $("<img>").attr("src", dataUrl).appendTo(".output"); 
        var imageData = dataUrl.replace(/^.*?base64,/i, ""); // URLen börjar med data:image/png;base64, - Det tar vi bort.
        $.post("http://www.yourdomain.se/savephoto.php", { myImage: imageData } );
        });
    });
  </script>
```

```
<?php
$file = fopen("/path/to/your/image.png","wb");
fwrite($file,base64_decode($_POST["myImage"]));
fclose($file);
?>
```

Permalänk: https://www.webforum.nu/p/2315688

## #9 — Asa, 2014-03-12T19:21Z

Skall php koden vara savephoto.php eller hur är det tänkt? Sökvägen på fopen förstår jag ju men vilken bild menar du man skall skriva där? Är väl det värdet som kommer i myImage? Eller vad är det jag inte förstår?

Permalänk: https://www.webforum.nu/p/2315694

## #10 — Jojoxx, 2014-03-12T20:31Z

> **[Asa skrev:](https://www.webforum.nu/p/1570594)**
>
> Skall php koden vara savephoto.php eller hur är det tänkt?

Yes, korrekt.

> **[Asa skrev:](https://www.webforum.nu/p/1570594)**
>
> Sökvägen på fopen förstår jag ju men vilken bild menar du man skall skriva där?

Det är sökvägen till den beskärda bilden som du vill spara... Antar att det var det du ville åstakomma? Filen skapas med bilddatat som skickas via ajax.

> **[Asa skrev:](https://www.webforum.nu/p/1570594)**
>
> Är väl det värdet som kommer i myImage? Eller vad är det jag inte förstår?

Värdet som kommer i post-variabeln myImage är ren PNG-data som sparas direkt ner i filen. Jag vet inte vad det är du inte förstår :)

Permalänk: https://www.webforum.nu/p/2315695

## #11 — Asa, 2014-03-12T20:33Z

Okej så jag ska alltså ge bilden ett eget namn i savephoto.php?

Permalänk: https://www.webforum.nu/p/2315696

## #12 — Jojoxx, 2014-03-12T20:38Z

Jao, det känns som en god idé så skrivs inte samma fil över hela tiden. :) Antar att du har något användar-id som kan vara lämligt att använda.

Permalänk: https://www.webforum.nu/p/2315698

## #13 — Asa, 2014-03-12T20:40Z

Okej, får testa imorgon om jag får igång det för idag gick det inge bra. :/ Är nog för trött.
Kan man på nå vis se i en alert namnet på bilden när man klickar på Spara också?

Permalänk: https://www.webforum.nu/p/2315699

## #14 — Asa, 2014-03-12T20:44Z

Samt kan man skriva ut om man skrivit fel sökväg i savephoto.php ? Så jag verkligen vet att det är rätt!

Permalänk: https://www.webforum.nu/p/2315700

## #15 — Jojoxx, 2014-03-12T22:12Z

alert är en javascript-funktion som körs i webbläsaren. Filnamnet som bilden har innan du beskär den är tämligen irrelevant. Om 2 använder använder en bild med samma namn ska dom ju inte påverka varandra. Så det namnet bör du inte använda på serversidan.

Beträffande sökvägen på serversidan är ett tips att använda dirname(\__FILE_\_) som returnerar sökvägent till katalogen där php-scriptet körs ifrån. Så ungefär:

```
$file = fopen(dirname(__FILE__)."/$uniqueFileName.png","wb");
```

$uniqueFileName skall då innehålla filnamnet som bilden skall sparas som.

Permalänk: https://www.webforum.nu/p/2315704

## #16 — Asa, 2014-03-13T20:27Z

Det verkar ta tid innan bilden kan visas fast den har sparats i mappen. Låter detta konstigt eller är det så? Sen är det problem att skriva över filen? Måste man skriva något speciellt?

Permalänk: https://www.webforum.nu/p/2315715

## #17 — Jojoxx, 2014-03-13T20:38Z

Prova

```
$file = fopen(dirname(__FILE__)."/$uniqueFileName.png","w+b");
```

Istället för att kunna skriva över filen. Alternativt, radera filen med [unlink](http://www.php.net/unlink) innan du skriver till den. Låter konstigt att den inte kan visas på en gång. Antagligen släpper inte php filen på en gång. Har inget bra svar på det.

Permalänk: https://www.webforum.nu/p/2315716

## #18 — Asa, 2014-03-13T20:47Z

Tackar för svaret. Kanske är servern som är seg..

Permalänk: https://www.webforum.nu/p/2315717

---

Tråden på webben: https://www.webforum.nu/amne/php/192035-hjälp-med-foto-beskärnings-app
