×
Felmeddelande :( Din CSS har inte laddats som den ska. Testa reloada sidan.
2

Skickar in bild (byte []) till min server/domän och försöker lagra dess URL

Postat av lolspelarn den 26 Juni 2016, 21:32
10 kommentarer · 638 träffar
Jag skickar in den från ett annat ställe så jag använder ingen form gjort med PHP utan istället så använder jag mig av en json_decode(file_get_contents) men det kanske inte funkar om man försöker skicka in bilder då jag sett att man då kanske jobbar med något som heter "enctype="multipart/form-data" (?) men då jag inte jobbar med en FORM direkt i PHP så kanske inte det funkar?

Med min nuvarande kod när jag försöker skicka in en bild som är i formatet byte [] så får jag ingenting i loggen alls, inget echo "skrivs ut", byter jag däremot min byte [] och skickar in en string istället så når den koden och detta skrivs ut då i loggen "bilden inte uppladdad".

Det jag vill uppnå är att dels ladda upp bilden i en redan befinitlig mapp på min domän och sen också lägga upp dess URL/http-länk i databasen.

min bild (byte []) som jag skickar in heter "photoData".
Detta är koden jag jobbar med.

<?php
$value = json_decode(file_get_contents('php://input'));
$mysql_pekare= new mysqli ("serv", "user","pass", "db");

if(isset($value)){ //detta är delen jag är osäker på. när jag googlar så verkar man jobba såhär med "enctype="multipart/form-data" men jag är osäker hur jag göra i mitt fall.
$image_name = $value->photoData; //$_FILES['image']['name'];
$image_type = $value->photoData; //$_FILES['photo']['type'];
$image_size = $value->photoData; //$_FILES['photo']['size'];
$image_tmp_name = $value->photoData; //$_FILES['photo']['tmp_name'];

if($image_name==''){
echo "You forgot to select an image. Please choose one!";
print_r($value);
exit();
}

if(move_uploaded_file($image_tmp_name, "photos/$image_name")) {
$thevalue = "http://myaddress.com/"."photos/$image_name";

$stmt = $mysql_pekare->prepare("INSERT INTO photoAlbum (`photo`) VALUES(?)");
$stmt->bind_param("s", $thevalue);
$stmt->execute();
$stmt->close();
$mysql_pekare->close();

echo $thevalue;

}
else{

echo "bilden inte uppladdad";
}
}

else {
echo "finns ingen value";
}

?>
Uppdatering skriven 27 Juni 2016, 01:34
$value = base64_decode($value); lagt till denna kodsnutten precis efter json_decode(file_get_contents('php://input')); så nu når koden iaf ett echo och echot som nås är "finns ingen value"

10 kommentarer — skriv kommentar

Kommentarerna nedan är skrivna av användare på Fragbite. Fragbite granskar inte sanningshalten i texten och du uppmanas att själv kritiskt granska och bemöta texten. Förutsätt inte att innehållet i texterna är sanning.
Visa 10 kommentarer

Skriv en kommentar

Laddar..