Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Auto upload na ImageShack
Kredka29
post
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 1
Dołączył: 6.12.2008
Skąd: Polska

Ostrzeżenie: (0%)
-----


Witam, poszukuję jakiegoś skrypty, który umożliwi użytkownikom mojej strony upload na imageshack.
Tzn. byłoby u mnie pole typu file i po kliknięciu wyślij, wraz z innymi danymi powinien wysyłać się formularz.
A do mnie nie docierałaby ścieżka z ich dysku, tylko link do tego pliku z np. imageshack.

Jest taka możliwość?

Ten post edytował Kredka29 26.11.2009, 14:14:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kredka29
post
Post #2





Grupa: Zarejestrowani
Postów: 78
Pomógł: 1
Dołączył: 6.12.2008
Skąd: Polska

Ostrzeżenie: (0%)
-----


Tak więc właśnie, rozumiem że to ma być w jednym pliku?
Na localu wyświetla się pusta strona...

Odświeżam...
Niżej na tamtym forum inny user podał jeszcze coś takiego:
Tyle że wyświetla się Warning: file_get_contents() [function.file-get-contents]: Filename cannot be empty in /home/myfreefarm/domains/myfreefarm.hostil.pl/public_html/upload.php on line 19
.imageshack.us///

  1. <?php
  2. class ImageShack {
  3. static function mimeType($filename){
  4. $ext = pathinfo($filename);
  5. $ext = $ext['extension'];
  6. switch($ext) {
  7. case "bmp": return "image/bmp"; break;
  8. case "gif": return "image/gif"; break;
  9. case "jpe": return "image/jpeg"; break;
  10. case "jpeg": return "image/jpeg"; break;
  11. case "jpg": return "image/jpeg"; break;
  12. case "png": return "image/png"; break;
  13. case "swf": return "application/x-shockwave-flash"; break;
  14. case "tif": return "image/tiff"; break;
  15. case "tiff": return "image/tiff"; break;
  16. default: return ""; break; }}
  17. static function upload($file){
  18. $filename = $file['name'];
  19. $binarydata = file_get_contents($file['tmp_name']);
  20. $sock = @fsockopen("www.imageshack.us", 80, $errno, $errstr, 30);
  21. $mimetype = self::mimeType($filename);
  22. $AaB03x = "--AaB03x\r\n";
  23. $AaB03x .= "content-disposition: form-data; name=\"uploadtype\"\r\n\r\n";
  24. $AaB03x .= "on\r\n";
  25. $AaB03x .= "--AaB03x\r\n";
  26. $AaB03x .= "content-disposition: form-data; name=\"fileupload\"; filename=\"".basename($filename)."\"\r\n";
  27. $AaB03x .= "Content-Type: $mimetype\r\n";
  28. $AaB03x .= "Content-Transfer-Encoding: binary\r\n\r\n";
  29. $AaB03x .= "$binarydata\r\n";
  30. $AaB03x .= "--AaB03x--\r\n";
  31. $header = "POST / HTTP/1.1\r\n";
  32. $header .= "Host: www.imageshack.us\r\n";
  33. $header .= "Content-type: multipart/form-data, boundary=AaB03x\r\n";
  34. $header .= "Content-Length: ".strlen($AaB03x)."\r\n\r\n";
  35. $header .= $AaB03x; fwrite($sock, $header);
  36. $response = ''; while (!feof($sock)) {
  37. $response .= fgets($sock, 128); }
  38. fclose($sock);
  39. preg_match("/location: http:\/\/img\d{1,3}\.imageshack\.us\/content\.php\?page=done&l=(img\d{1,3})\/(\d{1,4})\/(\w+.\w+)/i", $response, $matches);
  40. return "{$matches[1]}.imageshack.us/{$matches[1]}/{$matches[2]}/{$matches[3]}";}}
  41.  
  42. ?>
  43.  
  44. <html>
  45. <?php if(!isset($_POST['sub'])){ ?>
  46. <form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  47. Enter path to file: <input type="file" name="name" /><br />
  48. <input type="submit" name="sub" />
  49. </form>
  50. <?php } else {
  51. echo ImageShack::upload($_FILES['image']);
  52. }?>
  53. </html>


Czy może ktoś mi pomóc?

Up
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 02:00