Ændre et billede som bliver uploadet inden det biver sendt retur

Tags:    php html javascript

<< < 123 > >>
Hej,

er det muligt at ændre et billede som folk uploader automatisk og så sende det til dem i en e-mail.

For eksempel, hvis folk uploader et billede, så laver den en sort ramme omkring og indsætter et lille logo i bunden af højre hjørne.

Så alle ikke selv skal have photoshop og gøre det selv.

Jeg har allerede lavet upload og mail funktionen, men kan man ændre noget på billede før den bliver sendt retur.

Jeg håber i forstår hvad jeg mener, og kan hjælpe.

På forhånd tak



26 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
>Parse error: syntax error, unexpected '}' in /home/www/wearecrunch.dk/watermark/somefile.php on line 52
hvor er linje 52 ??

linje 40
if($flgSend)
//echo $message;

hvad er det lige du vil gøre der ??
skulle vel se sådan ud

if($flgSend){
echo "Mail send completed.";
}
else{
echo "Cannot send mail.";
}

alternativ // if($flgSend)
dvs slet linje 40

nb: indrkninger i coden vil gører den merer overskuelig

nbb: vær opmærksom at folk får ikke besked om der er opdateringer af et existerende indlæg, men kun når der kommer nye indlæg i tråde de følger




Hej Igen,

Nu sender den ihvertfald en mail med billedet som man vedhæfter, men den laver ikke ændringerne på billedet som man modtager i mailen som for eksempel watermark og borderen.

nb: hvordan skriver man så en ny post hvis man allerede har den sidste som er skrevet.
Den siger at man ikke kan skrive en ny post, men kun redigere den gamle.

Men nu ser min kode sådan her ud, hvorfor sender den ikke det opdaterede billede?

Fold kodeboks ind/udPHP kode 







nb: hvordan skriver man så en ny post hvis man allerede har den sidste som er skrevet.

det kan du pt ikke, du er desværrer ikke den eneste der er ramt at dette
http://www.udvikleren.dk/forum/38547/udvikleren.dk-mail-ved-opdatering/

du er nødt til at debugge, lav nogle test udskrifter i coden, så du kan se hvorlangt den kommer,

ligger det færdig behandlet billed i uploads/ ??
uden at kigge coden igennem. kunne jeg tro du sender det uploadet billed, og ikke det behandlet billed




Hvordan er det jeg debugger for at se hvor det går galt?
Jeg har nu fundet ud af at det redigerede billede bliver lagt i mappen uploads.

Så den må sende den originale version som bliver uploadet og ikke den version som er i uploadsmappen.

Så jeg tror det er som du siger, det uploadede billede som bliver sendt men ikke det som er i mappen, hvordan ville jeg kunne ændre det?




Hvordan er det jeg debugger for at se hvor det går galt?

du indsætter nogle test udskrifter rundt omkring i programmet, så du kan se hvor langt du kommer. for at lave meningsfuld test kræves man kender sin code.

det var ikke for sjov jeg d 21.09.12 22:38 skrev

delopgave 1: sammenskriv eks 5 og 12, og få dette til at virke, og fårstå eksemplet
delopgave 2: læs og fårstå coden til mail.
opgave: sammenskriv delopgave 1 og delopgave 2



Så jeg tror det er som du siger, det uploadede billede som bliver sendt men ikke det som er i mappen, hvordan ville jeg kunne ændre det?

lad mig give dit et hint
denne linje skal rettes
$strContent = chunk_split(base64_encode(file_get_contents($_FILES["file_name"]["tmp_name"])));

så den henter billedet fra uploads folderen, med det navn den har fået

kunne være noget med (utested)
$strContent = chunk_split(base64_encode(file_get_contents('uploads/'.$strFilesName)));
antager den hedder det sammen som org file. (gør den så ikke altid)

jeg gider ikke lave coden for dig som jeg gjorde i
http://www.udvikleren.dk/forum/38815/send-mail-til-en-email-som-bliver-indtastet/




Ja ok tak, nu tager den ihvertfald billedet fra mappen så det virker.

Men det underlige er at jeg kun kan uploade fra den standard billede mappe med eksempel billeder som var på computeren fra starten af. Jeg kan ikke uploade billeder fra en anden mappe eller fra skrivebordet eller noget.

Den ligger hverken billederne i uploadsmappen og sender mig heller ikke en mail.

Jeg synes det er meget underligt.

Det kan testet på:

www.wearecrunch.dk/watermark

min kode ser sådan ud:

Fold kodeboks ind/udPHP kode 


Er der nogen der kunne have en ide til hvad der kunne være galt?



hvor langt kommer du i programmet når der fejles ??
kommer du ind i de forskællige if sætninger ??
lav en test udskrift inde i starten af hver if sætning (simpel fejl finding/debug)
sådan:

if(isset($_POST['upload'])){
echo "test1";
$handle = new upload($_FILES['file_name']);
$handle->allowed = array('image/*');
if($handle->uploaded){
echo "test2";

osv og bare tælle test nummeret 1 op efter hver if sætning


du skulle gerne give dig en ide om hvor der fejles

når man kender sit program kan man lave færre test og anvende halv-veringss-metoden

du er selv nød til at fejlfinde i dit program ikke os.
det er ikke os der skal vedligeholde din code
JA det kræver blod sved og tårre at blive programmør, der er grund til at folk tager uddannelse som web-integratore, datamatikere mv





Ja ok, nu forstår jeg det mere :)
Den udskriver kun første test, så det vil sige at det drejer om to linjer.

Jeg vil lige gøre opmærksom på igen at det virker hvis man tager standardbillederne som var på computeren da man købte den.

Ved ikke om det er samme sti: biblioteker/billeder/billedeeksempler og derefter virker de billeder, men hvis jeg lægger et af mine andre billeder ind i den mappe virker det heller ikke, så tror ikke det har noget med stien at gøre, men mere billederne.

Men når jeg uploader et andet billede stopper den ved denne kode:

$handle = new upload($_FILES['file_name']);
$handle->allowed = array('image/*');

Ved du hvad det kunne være, er lidt i tvivl om hvorfor det kun virker med nogle billeder :(

tak



prøv at lave dette
$handle = new upload($_FILES['file_name']);
$handle->allowed = array('image/*');

om til
$filname=$_FILES['file_name'];
echo $filname; <-- hvad står der her når det virker og når det ikke virker ??
$handle = new upload($filname);
$handle->allowed = array('image/*');




Begge gange står der bare Array når jeg echoer $filename
Men når det virker fortsætter den bare, og når det ikke virker skriver den stadig Array, men stopper derefter.

Så det må vel stadig være det her, der er noget i vejen med:

$handle = new upload($filname);
$handle->allowed = array('image/*');

Men er det meningen at den skal skrive Array, eller burde den ikke skrive filens navn?



<< < 123 > >>
t