همونطور که میدونید تابع flie_get_contents()  سورس فایل مورد نظر رو که میتونه حتی یک صفحه وب باشه رو میریزه توی یه رشته و میتونید هر بلایی سرش بیارید(مثلا با html-dom-parser به المنت هاش دسترسی پیدا کنید). بعضی وقتا ssl و… نمیذارن که بصورت مستقیم به محتویات صفحه دسترسی پیدا کنید. همینطور وقتی میخواید یه عکس رو از یه صفحه ای که ssl روش هست کپی کنید…  من به این مشکل برخوردم و با curl مشکلم رو حل کردم… جمع و جورش رو براتون در قالب یه فانکشن گذاشتم که امیدوارم به دردتون بخوره…

 function file_get_contents_curl( $url ) {
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_AUTOREFERER, TRUE );
        curl_setopt( $ch, CURLOPT_HEADER, 0 );
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt( $ch, CURLOPT_URL, $url );
        curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, TRUE );
        curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0);
        $data = curl_exec( $ch );
        curl_close( $ch );
        return $data;
    }

موفق باشید…

اگه بعد از php artisan migrate  کردن اررور زیر رو میگیرید :

 [PDOException]                                    
  SQLSTATE[HY000] [2002] No such file or directory

توی فایل app\database.php  مقدار localhost  رو به ۱۲۷٫۰٫۰٫۱  تغییر بدید… معمولا توی ابونتو همچین مشکلی هست …

Warning: putenv() has been disabled for security reasons in /home/yoursite/public_html/vendor/vlucas/phpdotenv/src/Dotenv.php on line 86

اگه ورژن php هاستتون زیر ۵٫۶ باشه این پیام نمایش داده میشه… برای حل این مشکل از قسمت select php version  هاستتون اقدام کنید و یا با پشتیبانی هاستتون تماس بگیرید

متغییر های استاتیک در PHP متغییر های خیلی جالبین 🙂 . متغیر هایی هستند که مقداری که دارند رو از دست نمیدن ، حتی داخل یک تابع و بعد از به اتمام رسیدن پردازش تابع.

مثال میزنم :

<?php
   function keep_track() {
      STATIC $count = 0;
      $count++;
      print $count;
      print "<br />";
   }
   
   keep_track();
   keep_track();
   keep_track();
?>

خروجی کد بالا به شکل زیر خواهد بود :

۱
۲
۳

میبینید که مقدار متغیر استاتیک ثابت مونده بعد از اتمام هر تابع…

همونطور که میدونید اگه یه کلید خارجی توی مایگریشن ها و متد up()  اضافه کنیم ، باید اون رو توی متد down()  حذفش کنیم و یا به اصطلاح drop کنیم. روابط رو میتونید در phpmyadmin->structure->Relation view  ببینید . برای حذف این روابط داکیومنت خود لاراول گفته این کار رو بکنید :

To drop a foreign key, you may use the dropForeign method. Foreign key constraints use the same naming convention as indexes. So, we will concatenate the table name and the columns in the constraint then suffix the name with “_foreign”:

$table->dropForeign('posts_user_id_foreign');

 

یک راه دیگه که توی داکیومنت لاراول گفته نشده اینه :

$table->dropForeign(['user_id']);