Ich habe etwas gefunden, das für jeden nützlich sein könnte, der uploadcare.com (oder ähnlich) verwendet, um Bilder für Benutzerprofile zu speichern. Sorry im Voraus, wenn die Frage beantwortet wurde und ich sie nicht gefunden habe.Uploadcare URL in der Datenbank speichern PHP
Die Frage: Ich arbeite derzeit an einem Skript mit Uploadcare.com. Hier ist die Dokumentation mit der ich arbeite: https://uploadcare.com/quick_start/php/
Die Idee ist, die URL des hochgeladenen Bildes zusammen mit den anderen Benutzerdaten in einer Datenbank zu speichern.
Ich erhalte die URL von
$file->getUrl();
auf einem lokalen Skript und ich bin auch in der Lage alles andere von dem Benutzer in der Datenbank zu speichern.
Nur die URL und das Skript für Uploadcare arbeiten nicht zusammen - ich bekomme die URL des hochgeladenen Bildes nicht gespeichert.
Scripts:
registration.php:
<form class="form-signin-register wow fadeInUp" name="signupform" id="signupform" onsubmit="return false;" method="POST" action="photoupload.php">
<h2 class="form-signin-heading">Register now</h2>
<div class="login-wrap">
<p>Enter personal details</p>
<input id="avatar" name="avatar" type="text" class="hidden" value="<?php echo $url; ?>">
<!-- M: The 'Choose a File' button. This also loads the widget -->
<?php include('formphoto.php'); ?>
<input id="firstName" type="text" class="form-control" placeholder="First Name" autofocus>
<input id="lastName" type="text" class="form-control" placeholder="Last Name">
<input id="email" onfocus="emptyElement('status')" onblur="checkemail()" onkeyup="restrict('email')" maxlength="88" type="text" class="form-control" placeholder="Email"><span id="emailstatus"></span>
<select id="gender" onfocus="emptyElement('status')" class="form-control">
<option value="">Select Gender</option>
<option value="m">Male</option>
<option value="f">Female</option>
</select> ..... <button id="signupbtn" onclick="signup();" class="btn btn-lg btn-login btn-block" disabled>Create Account</button></form>
formphoto.php:
<?php require_once 'vendor/autoload.php';
use \Uploadcare;
$api = new Uploadcare\Api('ab11954d8908bc4b0e35', 'secretkey_removed');
?>
<?php echo $api->widget->getScriptTag(); ?>
<script>
//set this to true when live!
UPLOADCARE_LIVE = false;
UPLOADCARE_IMAGES_ONLY = true;
//here is free croping defined
UPLOADCARE_CROP = '1:1';
</script>
<form method="POST" action="photoupload.php">
<?php echo $api->widget->getInputTag('qs-file'); ?>
<!-- don't need the following line, it saves also without to uploadcare :) -->
<!-- <input type="submit" value="Save this profile picture!" /> -->
</form>
photoupload.php:
<?php
require_once 'vendor/autoload.php';
use \Uploadcare;
$file_id = $_POST['qs-file'];
$api = new Uploadcare\Api('ab11954d8908bc4b0e35', 'secretkey_removed');
$file = $api->getFile($file_id);
$file->store();
$url = $file->getUrl();
header registration.php;
?>
<!-- M: for saving the avatar picture, a hidden field. The value is the URL of pic in Uploadcare.com -->
<!-- $url = $file->getUrl(); -->
Kann ich vielleicht auch die Reihenfolge, in der die Skripte ausgeführt werden sollten, durcheinander bringen?